what are the development trends for enterprise applications?
TRANSCRIPT
Ton Blankers
Why don’t my Enterprise Applications look like Facebook?
Client Manager UnifaceTwitter:@tonblankers
Why this question?
Are we finished with 3GL for application development?
What are the alternatives?
Systems
Operating Systems
System utilities
Device drivers
Embedded controllers
Development
Programming languages
Development platforms
Databases
Development tools
Application servers
Applications
Business capabilities
Web
Mobile
Games
Productivity task tools
Embedded applications
Business Software: What is it?
Companies develop applications to support all the activities of their customers
Business capabilities
apps
Business process
Content & Collaboration
Task productivity
apps
Process control
Web apps
eCommerce
Customer service
Content, media, & games
Marketing
Mobile apps
eCommerce
Customer service
Content, media, & games
Location-based
Marketing
Java (and .NET) still very popular. . . especially for medium and large companies.
Everyone surprised: Technology suppliers, companies, developers
150 Euro/hour HTML Developers: “Yee ha.” cgi-bin: “Huh.” Stock market: “Until the bubble burst”
Sun Microsystems came with Java as the Web development platform
Most vendors stood and watched Java become the de facto standard for Internet/Web application development for businesses Together with supporting technology such as HTML and JavaScript
Followed by alternatives from Adobe ColdFusion, Microsoft Active Server Pages (ASP), among others
The web had a huge impact on application development
Write once, run anywhereSimple, object-oriented, C/C++ like notation Interpreted, threaded, and dynamic
Robust and secure No pointers, automated garbage collection
Architecture-neutral and portable Byte code on virtual machine
High performance (later) Native code complier
Java is more than a languageClass libraries
J2EE
Frameworks JBoss Hibernate SpringSource
JSRs Servlets, JSP, etc.
Dev tools Netbeans Eclipse
Runtime containers (app servers)
New Languages Groovy/Grails, JRuby, Scala
Java works perfectly!
And why not?
Is popularity the most important reason to choose for a technology for the future?
Past results don’t offer a guarantee for the
future.
The end-users chose the requirements for the applications, not the technology!
The end-users chose the requirements for the applications, not the technology!
“We can’t keep up with the changes.”
“How de we maintain our web application?”
“The business doesn’t know what it wants.”
“The users keep changing their requirements.”
“Does the architecture support the users’ requirements?”
“Since we’ve gone Agile it’s getting better and going faster, but not good enough.”
“We have to improve the user experience.”
“The only certainty is change.”Two important megatrends
determine the future
• The business application needs to change quickly enough to keep up with the end-user expectations.
Rapid Change
• The costs of changes and maintenance must be covered.
Cost Effective
Adaptability
Megatrend 1: Rapid Change
• Users need to achieve their goalsFunctions
• Users can easily work on their tasks.Usable
• Users like to work with the application.Desired
Megatrend 2: Excellent User
Experience
Business applications need to be in balance with users’ criteria
Criterium What does this mean
1 ExperienceUsers’ perceptions of the usefulness, usability, and desirability of the application
2 AvailabilityThe readiness of an application to perform its functions when needed
3 PerformanceThe speed with which an application performs a function to meet business and user expectations
4 ScalabilityHandle increasing or decreasing volumes of transactions, services, and data
5 AdaptabilityThe ease with which an application can be changed or extended
6 SecuritySupports the security properties of confidentiality, integrity, authentication, authorization, and nonrepudiation
7 EconomyMinimize the cost to build, operate, and change an application without comprising its business value
Old way of working being discussed
• 32% were successful• 44% had serious problems• 24% stopped/failed
Standish Group CHAOS
Summary 2009 report
2/3 of all projects are not good!
Java is perhaps not the best choice when considering the trends
1. Java was not designed for enterprise applications
2. Java innovation is not enough to fulfill modern user requirements
3. Java’s strong points for developers do not equal good user interface or reduce the maintenance costs
4. There are many alternatives
New languages are needed to fill productivity gap with the language itself!
“Plumbing” frameworks are popular
Source: January 21, 2011, “The Future Of Java” Forrester Report
Customer quotes:
“Uniface is fast and a lot faster than J2EE or even .NET development environments”
“A distributed imaging component took at least 10 times longer to write and get working within the .NET environment than it did to develop within the Uniface component”
Rapid application development
Productivity study: Java, .NET, UnifaceBased on PetStore Application
• New languages and technologies: Javascript, XML, CSS and HTML
• New State management: Stateless vs. Stateful
• New data connectivity: Disconnected data vs. connected datasets
• Browser independent
• What happens with existing client/server applications
Web application challengesWhat about productivity??
Learn More:
Productivity White paper (hyperlink)
3 Minute Video about Uniface (hyperlink)
Uniface Productivity