© 2011 IBM Corporation 06/10/22
Jan 09, 2016
© 2011 IBM Corporation04/21/23
2
About Me…
My call Name: Hema
My company: IBM India
What I do:
IBM Certified SOA Solution Designer and Application Architect
Prior Roles:
Application Architect for Application on Demand Technologies (AoDT) team,
Technology Eminence Manager – IBM India
About Me:
Core member at the IBM India Technical Experts Council (TEC) and also lead the Women in Technology (WIT) at IBM
A doting Mom, fitness freak and Yoga enthusiast.
3
Objective
Can the power of Java be leveraged in the Enterprise ?
What are the needs of enterprise-wide computing and how does Java support ?
What is a Java-based Enterprise System architecture like ?
4
What is Java ?
Java - The new programming language developed by Sun Microsystems in 1991.
Originally called Oak by James Gosling, one of the inventors of the Java Language.
Java -The name that survived a patent search
Java Authors: James , Arthur Van , and others
Java is really “C++ -- ++ “
Originally created for consumer electronics (TV, VCR, Freeze, Washing Machine, Mobile Phone).
Java - CPU Independent language
Internet and Web was just emerging, so Sun turned it into a language of Internet Programming.
It allows you to publish a webpage with Java code in it.
5
Java (and .NET) is extraordinarily popular . . .. . . especially for medium-size and large firms.
6
The Journey… 1995 - Java was released by Sun Microsystems
1991 –James Gosling names new language ‘Oak’
1993 –Public Internet
1995 –Name changes from Oak to Java.
1996 –First JavaOne Developer Conference.
1999 –J2EE beta software is released.
2002 –J2EE SDK downloads reach 2 million.
2005 –~4.5 million developers use Java technology.
2006 –Most of Java is released under open source.
2010 –Oracle completes acquisition of Sun Microsystems.
7
The invention of WWW started a meteoric change in IT application development
It caught everyone by surprise: technology vendors, businesses, developers
– Remember $150 per hour HTML developers: “&*@# !!!.”
– Remember cgi-bin:
– Remember the end of brick-and-mortar companies
– Remember the stock market
Sun Microsystems moved quickly to take advantage by selling servers and offering Java as the platform for Web development.
– Most other software vendors, such as Microsoft, were caught off guard, and Java became the de facto Internet development standard for enterprise Web application development. Along with supporting technologies such as HTML and JavaScript.
Other vendors followed with alternative technology such as Adobe ColdFusion, Microsoft Active Server Pages (ASP), and others
8
Write once, run anywhere …
Simple, object-oriented, and familiar C/C++ like notation
Robust and secure
No pointers, automatic garbage collection
Architecture-neutral and portable
Byte code running on virtual machine
High performance
Native code when possible
Interpreted, threaded, and dynamic
Class libraries
J2EE– Frameworks galore– JBoss Hibernate– Spring Source– JSRs galore Servlets, JSP,
etc.
Development tools galore
Runtime containers (app servers) galore
– New programming languages Groovy/Grails, JRuby, Scala
9
Enterprises develop business applications to enable business capabilities and serve customers directly
10
Does popularity of Java, mean it is the best choice for business application development in 2011 and beyond?
11
The future of Java depends on how well the platform meets the changing needs of business and IT
“We can’t keep up with the changes.”
“How do we redesign our web application?”
“The business doesn’t know what it wants.”
“The business keeps changing its mind.”
“Will our architecture support the business requirements?”
“Results have improved after we adopted Agile methods, but not enough.”
“We have to improve the user experience.”
“Change is continuous.”
12
Wildly desirable business applications must strike the right balance among these seven qualities
Quality What it meansExperience Users’ perceptions of the usefulness, usability, and desirability of the application
Availability The readiness of an application to perform its functions when needed
Performance The speed with which an application performs a function to meet business and user expectations
Security Supports the security properties of confidentiality, integrity, authentication, authorization, and non repudiation
Economy Minimize the cost to build, operate, and change an application without comprising its business value
Scalability Handle increasing or decreasing volumes of transactions, services, and data
Adaptability The ease with which an application can be changed or extended
13
Old ways haven’t been working so well…
32% of projects succeeded
44% were challenged
24% failed
Standish Group
CHAOS Summary
2009 report states …
Two-thirds (68%) of projects failed
or
were challenged in some way.
14
A programming language cannot make it all…!!
Programming languages are not the only way to develop business applications. – Business process management (BPM)– Business rules management systems (BRMS)– Business intelligence (BI)– Business event processing (complex event processing CEP*)– Content management and collaboration accelerators– Platform-as-a-service
Newer programming languages are designed to make certain apps easier.– Ruby on Rails, web2py, and many others– Many of these alternatives are built on-top of Java platform -cool
Excellent productivity-focused app dev tools have existed for years.– 4GLs– Many new players such as salesforce.com, WaveMaker Software, and many, many
others
15
What do we need for an Enterprise
16
17
A combination of tools and platforms is necessary
18
A combination of tools and platforms is necessary
19
The mandate is for SMART WAYS to enterprise application development…!!
Our world is becoming
INSTRUMENTED
Our world is becoming
INTERCONNECTED
Virtually all things, processes and waysof working are becoming
INTELLIGENT
GREEN AND BEYOND
SMART WORK
NEW INTELLIGENCE
DYNAMIC INFRASTRUCTURE
20
SOA Value Proposition – Value for IT
Revenue Create new routes to market, new value from existing systems
Flexibility Develop flexible business models enabled by increased granularity of processes (“services”)
Speed Combine and reuse pre-built service components for rapid application development and deployment in response to market change
Efficiency Integrate historically separate systems, facilitate mergers and acquisitions of enterprisesReduce cycle times and costs for external business partners by moving from manual to automated transactions
Service Offer new services to customers without having to worry about the underlying IT infrastructure
Cost Eliminate duplicate systems, build once and leverage
Risk Improve visibility into business operations
IT Aspects – why should you care about SOA?
21
A Services Oriented Architecture (SOA) - Expose key IT capabilities and make them available in new ways
…and breaks them down into services…
These services can be integrated and used to build new capabilities…
A service-oriented architecture (SOA) is an architectural framework that takes business applications…
…supporting new functionality from within your current portfolio or from your extended value chain.
Business ApplicationsFixed Rate Mortgage System
Adjustable Rate
Mortgage System
Unsecured Loan
System
Integrated Statement Processor
Mainframe/Legacy
.NETCustomJ2EEPackages
…that can be made available for use independent of the applications and the computing platforms on which they run.
Services
Request Answer
Service
…or repeatable business task – e.g., open new account, check credit history
New CapabilitiesHybrid Credit
Product System(new)
WebCredit Portal Access
(new)
Partner Service
SOA = Agility + Governance = Competitive Advantage
22
Cloud is:
– A new consumption and delivery model
Cloud addresses:
– Cost reduction
– Scale
– Utilization
– Self-service
– IT agility, flexibility and delivery of value
Cloud represents:
– The industrialization of delivery for IT supported services
Cloud includes:
– Deployment models: public, private, hybrid
– Delivery models: Infrastructure as a Service (IaaS), Platform as a Service (PaaS), Software as a Service (SaaS) and Business Process as a Service
– Focus on the End user – self service delivery
Cloud is a shift in the consumption and delivery of IT with the goal of
simplifying to manage complexity more effectively.
23
24
25
26
Recommendations
If you are using Java successfully, then there is no reason to abandon the ship.
Investigate every alternative platform and how you can use them to get faster and better satisfy both the business and users.
You can continue to be largely a Java shop but start to bolt on other platforms such as BPM to deliver on new requirements.
Set an architectural path toward more productive application development tools.
Start by identifying the fastest-changing apps.– Choose platforms that will fulfill that change faster, for example. Rapid application
development tools such as application development productivity platforms (ADPP)– Business process management, business rules, business events– Dynamic Web frameworks
Do not think how you can develop Java applications faster. Instead, think how you can develop applications faster. This opens your mind to look outside Java to these alternatives.
There is no one solution that will satisfy all your use cases. But, don’t make Java the automatic default for custom-developed apps .
– Instead create a “Should this be a Java app?” checklist.
27
Thank you..!!
Questions ??