PHP-1701-A By: Adam Culp Twitter: @adamculp
2 PHP-1701-A ● About me – OSS Contributor – PHP Certified – Zend Certification Advisory Board – PHP-Fig voting member (IBM i Toolkit) – Consultant at Zend Technologies – Organizer SoFloPHP (South Florida) – Organizer SunshinePHP (Miami) – Long distance (ultra) runner – Photography Enthusiast – Judo Black Belt Instructor
3 PHP-1701-A ● About me – OSS Contributor – PHP Certified – Zend Certification Advisory Board – PHP-Fig voting member (IBM i Toolkit) – Consultant at Zend Technologies – Organizer SoFloPHP (South Florida) – Organizer SunshinePHP (Miami) – Long distance (ultra) runner – Photography Enthusiast – Judo Black Belt Instructor I am the PHP Ninja!!!
4 PHP-1701-A ● Fan of iteration – Pretty much everything requires iteration to do well: ● Long distance running ● Judo ● Development ● Evading project managers ● Enterprise Software!
5 PHP-1701-A ● What is Enterprise Software? – No, not the starship!
6 PHP-1701-A ● What is Enterprise Software? – PHP vs Java vs Python vs Go?
7 PHP-1701-A ● What is Enterprise Software? – Active Record versus Data Mapper?
8 PHP-1701-A ● What is Enterprise Software? – Symfony vs Zend vs Laravel?
9 PHP-1701-A ● What is Enterprise Software? – “...is computer software used to satisfy the needs of an organization rather than individual users.” - wikipedia
10 PHP-1701-A ● What is Enterprise Software? – “...describes a collection of computer programs with common business applications, tools for modeling how the entire organization works, and development tools for building applications unique to the organization...” - also wikipedia
11 PHP-1701-A ● What is Enterprise Software? – "Enterprise applications are about the display, manipulation, and storage of large amounts of often complex data and the support or automation of business processes with that data." - Martin Fowler
12 PHP-1701-A ● Really? – Organization vs User – Large Companies – Corporate Patterns – Data or Complex Data
13 PHP-1701-A ● In Other Words: – No small companies – No individual users – No simple/small data
14 PHP-1701-A ● Really? – Organizations versus users – Large companies – Patterns – Data or Complex Data
15 PHP-1701-A ● What is Enterprise Software? – License
16 PHP-1701-A ● License – OSS vs Proprietary (many for each) – No license == no sharing – License == Responsibility
17 PHP-1701-A ● What is Enterprise Software? – License – Interoperability
18 PHP-1701-A ● Interoperability – Composer ● 433+ million package downloads...in July 2018 ● 10.25 billion total since 2012 ● More than just left-pad – Play nice with others – Easily add functionality – Caring users/community – PHP-FIG ● (politics aside) ● Passions == arguing
19 PHP-1701-A ● What is Enterprise Software? – License – Interoperability – Lock-in
20 PHP-1701-A ● Lock-in – Less lock-in is preferred – What if I want Ginger Ale instead of Koolaid? – Can seem innocent ● “We’re trying to help our users.” ● “Oops, sorry, must continue using this to use that.”
21 PHP-1701-A ● What is Enterprise Software? – License – Interoperability – Lock-in – Contributors
22 PHP-1701-A ● Contributors – More eyeballs – More brains – More ideas – More updated – More faster – Role of Git
23 PHP-1701-A ● What is Enterprise Software? – License – Interoperability – Lock-in – Contributors – Bus Factor
24 PHP-1701-A ● Bus Factor – Will it die without {{so-and-so}}? ● Visionary ● Energy ● Glue
25 PHP-1701-A ● What is Enterprise Software? – License – Interoperability – Lock-in – Contributors – Bus Factor – Documentation
26 PHP-1701-A ● Documentation – App is not complete without it – Entry level to advanced – Searchable – Complete – Books, Blogs, Podcasts – Videos
27 PHP-1701-A ● What is Enterprise Software? – License – Interoperability – Lock-in – Contributors – Bus Factor – Documentation – Support
28 PHP-1701-A ● Support – Throat to choke ● Who’s to blame – Community – Corporate – More than one
29 PHP-1701-A ● What is Enterprise Software? – License – Interoperability – Lock-in – Contributors – Bus Factor – Documentation – Support – Compliance/Security
30 PHP-1701-A ● Compliance/Security – SOC, OCI, SAS70, PCI, Sarbanes Oxley (SOX), Oh my! – Richardson Maturity Model (REST) – RFCs – CVE issues ● Friends of PHP: https://github.com/FriendsOfPHP/security-advisories ● https://cve.mitre.org/
31 PHP-1701-A ● What is Enterprise Software? – License – Interoperability – Lock-in – Contributors – Bus Factor – Documentation – Support – Compliance/Security – Longevity
32 PHP-1701-A ● Longevity – Experience level – Older == stability … usually ;-) – Waiting for version n.01 – Version 8 being defined
33 PHP-1701-A ● What is Enterprise Software? – License – Interoperability – Lock-in – Contributors – Bus Factor – Documentation – Support – Compliance/Security – Longevity – Upgradeable
34 PHP-1701-A ● Upgradeable – Wizards – Documentation – BC (backward compatible) – Composer
35 PHP-1701-A ● What is Enterprise Software? – License – Interoperability – Lock-in – Contributors – Bus Factor – Documentation – Support – Compliance/Security – Longevity – Upgradeable – Roadmap
36 PHP-1701-A ● Roadmap – Plans for next version – Vision or ideas – Stagnant – Openness
37 PHP-1701-A ● Other Considerations – Performance
38 PHP-1701-A ● Other Considerations – Performance – Code Quality
39 PHP-1701-A ● Other Considerations – Performance – Code Quality – Coding Standards
40 PHP-1701-A ● Other Considerations – Performance – Code Quality – Coding Standards – IDE Friendly
41 PHP-1701-A ● Other Considerations – Performance – Code Quality – Coding Standards – IDE Friendly – Tested/Testable
42 PHP-1701-A ● Future – Remote working
43 PHP-1701-A ● Future – Remote working – Microservices
44 PHP-1701-A ● Future – Remote working – Microservices – Containers
45 PHP-1701-A ● Future – Remote working – Microservices – Containers – Async PHP (Swoole, ReactPHP, PHP v.8)
46 PHP-1701-A ● Future – Remote working – Microservices – Containers – Async PHP (Swoole, ReactPHP, PHP v.8) – Middleware (SlimPHP, Expressive, etc.)
47 PHP-1701-A ● Future – Remote working – Microservices – Containers – Async PHP (Swoole, ReactPHP, PHP v.8) – Middleware (SlimPHP, Expressive, etc.) – Serverless
48 PHP-1701-A ● Future – Remote working – Microservices – Containers – Async PHP (Swoole, ReactPHP, PHP v.8) – Middleware (SlimPHP, Expressive, etc.) – Serverless – Function as a Service (FaaS)
49 PHP-1701-A ● Summary... “Enterprise” is: – Stability – Dependability – Security – Business Continuity
● Thank you! – Code: https://github.com/adamculp/ Adam Culp http://www.geekyboy.com http://RunGeekRadio.com Twitter @adamculp Questions?

php-1701-a