J2EE, SOA and Web2 - IndicThreads › ... › SOA_web2_j2ee-Indicthreads... · 12/1/2006 · J2EE,...
Transcript of J2EE, SOA and Web2 - IndicThreads › ... › SOA_web2_j2ee-Indicthreads... · 12/1/2006 · J2EE,...
www.pramati.com
Synergies between J2EE, SOA & Web2.0
Speaking at IndicThreads conference on Java Technologies
Pune, December 1, 2006
Ramesh Loganathan
VP, Middleware Technologies, Pramati Technologies
2J2EE, enabling SOA quickstart
IT Landscape today
Enter SOA and Web2.0
Where does J(2)EE fit in
J2EE enables Web2.0
Bite Sized SOA
Going forward
Over the next hour..
www.pramati.com
IT Landscape evolves
From monolithic mainframe, thru multi-tier applications, to SOA and Web2.0
IT Landscape Evolves
Enter SOA and Web2.0
How does J2EE fit in
J2EE enabling Web2.0
Bite Sized SOA
Going Forward
4J2EE, enabling SOA quickstart
IT landscape today
IT solutions today are localized solutions for specific biz/problems
IT Islands
Order Processing SolutionJ2EE
CRM App..NET
SAPERP Solution
HRPeople Soft
Warehouse & LogisticsJ2EE
User connects to each systemAnd checks up individual status
How did we get here..
5J2EE, enabling SOA quickstart
1990s: from monolithic, to multi tier
Database Tier
Midtier
Functional Modules
Mod 1 Mod 2 …
UI/Presentation
Biz logic in UI
UI
2 tier
UI & Biz logic Tier separation not very strict.
3 tier
Database Tier
6J2EE, enabling SOA quickstart
Onto.. Web based architectures
Midtier
Functional Modules
Database Tier
Mod 1 Mod 2 …
UI/Presentation
Biz login\c in UI
UI
UI & Biz logic not clearly separated. Tier separation not very strict.
Data Center
Internet/intranet
WebBrowsers
7J2EE, enabling SOA quickstart
2000, extended organization (integration)
Midtier
Functional Modules
Database Tier
Mod 1 Mod 2 …
UI/Presentation
Biz logic in UI
UI
Data Center
Internet/intranet
WebBrowsers
JCA
JCA
IBM
SAP
8J2EE, enabling SOA quickstart
Connector A
PI
Legacy Applications (like E
RP
)
Mainfram
es
Enterprise Level S
ecurityFram
ework
Naming Service
Fail over Load Balancing Cluster Manager Remote Admin
Webbased Administration via JMX Console
Transaction Service
DB Connectivity
RD
BM
S
Resource Service
Server
LDA
PS
FS
Persistence Management
Lifecycle Handling
Enterprise JavaBeans
Resource Pooling
Java
Clie
nts
CO
RB
A
Clie
nts
JSPs Servlets
Session Management
HTT
P S
erve
rWeb
Bro
wse
rs
JMS Server(Async Messaging)
Enterprise Java Applications Elsewhere
MDB
J(2)EE- Enterprise Platform Evolves
www.pramati.com
Enter, SOA and Web2.0
IT Landscape Evolves
Enter SOA and Web2.0
How does J2EE fit in
J2EE enabling Web2.0
Bite Sized SOA
Going Forward
10J2EE, enabling SOA quickstart
Raw Materials
Mailroom 3Mailroom 3
Business Processing triggered by sending form to the first dept.
Customer Care Dept
Mailroom 1Mailroom 1
Order Processing
MailroomMailroom
Shipping
Mailroom 6Mailroom 6
Warehouse
MailroomMailroom
Manufacturing
Mailroom 4Mailroom 4
Organization
Form
Form/document
start
end
1 2 3
466
Interactions exist, even before SOA
•Document “flows” thru the organization, and gets processed.•Simplifying and Automating these flows is the objective of SOA..
11J2EE, enabling SOA quickstart
SOA.. Extend “existing” systems
BATCH SYSTEM
INCREMENTAL DEPLOYMENT
BROAD-SCALE INTEROPERABIL
ITY MODULARITY / REUSE
FLEXIBILITY
APPLICATION SERVER
USER-DEFINED SERVICE
LEGACY APPLICATION
PROCESS SERVER
RELATIONAL
DATABASE
PORTAL SERVICE
•SOA Adoption today, helps “automating” the biz flows•Must be able to easily “extend” existing systems to form SOA fabric•Enable Orchestration of services & integration across systems
12J2EE, enabling SOA quickstart
Existing Systems fitting into SOA
App bus
Aapp
C E
B
user UI EJBSession Beans
Façade/WS
Local interactions
OutboundServicesaccess
Schemarepository
Legacy
ServicesRegistry
wrappers
Inboundaccess
Inbound and Outbound services.
13J2EE, enabling SOA quickstart
From SOA.. to service centric Web(2.0)
• SOA is about
– Services
– Processes
– Enterprise services infrastructure
• Web 2.0.. The next gen web- beyond just web sites and pages
– Rich UI
– Richer user interactions
– Rich Internet Architecture
– Access Resources over the web
– Access Services over the web
Now, why Web2.0, suddenly..
14J2EE, enabling SOA quickstart
Application
Web2.0: in the enterprise
intranet
WebBrowsers
ApplicationServer
SOARIAGoogle earthGeo-spatial
ECommerc
e
Web Services Ama
zon
Services
Search
engine
Blogs & Info sites
InfoFlickr(taggin
g)
Wiki pedi
a
Banks
Pay.tGateway
Net/financial serviceseBay
WEB/ Internet
Communitiesmyspaces
Rich UI
Enabling Web2.0
15J2EE, enabling SOA quickstart
Web 2.0.. A marketing gimmick?
• It started with O’Reily pushing for discussions around the new possibilities around the Web
• Web as more than just “browse”:
syndication>stickiness
tagging ("folksonomy")>directories (taxonomy)
wikis>content management systems
participation>publishing
web services>screen scraping
blogging>personal websites
Wikipedia>Britannica Online
Napster>mp3.com
BitTorrent>Akamai
Flickr>Ofoto
Google AdSense >DoubleClick
Web 2.0 Web 1.0
16J2EE, enabling SOA quickstart
Different people.. Different strokes
Web 2.0InformationDesigner Collated &
Aggregated
UsabilityEngineer
Simple Interactions. ReferMultiple sites
SolutionArchitects
Fat clients- Better user exp
EnterpriseSolutions
Bring SOATo the User (UI)
Portals &ApplicationDesigners
Focus moreOn backend services
ContentProducers
WideConsumer base
SMB Software
DevelopersSoftware As a service
OnlineServices
MoreUsage potentialUI
DesignerRich UI
User
Simple, & rich,Solutions
17J2EE, enabling SOA quickstart
web
Web2.0 and SOA- how similar?
Rich UI
AJAX
SAASResources
REST
RSS
http
BPEL processes
SOAPClient
ServicesAdmin
XML
SOAP/http
WS*
Even better, Web2 can be a front for SOA..
• XML based
• Services over web (SOAP/REST)
• Access data as XML (RSS/WS-doc-literal)
18J2EE, enabling SOA quickstart
Web2.0.. a front to SOA
• SOA access patterns- typically only from other solutions
– SOA is seen as an enterprise biz processing “backend”
– The integration models for UI and service/process backends still evolving
– Standards in this space (Such as SCA and SDO)
• As SOA solutions build, direct user access will be inevitable
– Web2.0 opening up the space- alternate access models (direct SOA access from rich UI)
– Web 2.0 very XML aware- ready processing environment
– Web 2.0 access- direct SOAP access, or thru a local proxy
– AJAX interactions- compose input XML, invoke service, process the returned XML
• J2EE based Design approaches and patterns for Web2.0 accessing SOA services
www.pramati.com
Where does J2EE fit in all these
IT Landscape Evolves
Enter SOA and Web2.0
How does J2EE fit in
J2EE enabling Web2.0
Bite Sized SOA
Going Forward
20J2EE, enabling SOA quickstart
Complete Enterprise Runtime Environment
Connector A
PI
Legacy Applications (like E
RP
)
Mainfram
es
Asynchronous Messaging
Enterprise Java Applications Elsewhere
Transaction Service
Resource Service
Enterprise Level S
ecurityFram
ework
DB Connectivity
Naming Service
Fail over Load Balancing Cluster Manager Remote Admin
Webbased Administration via JMX Console
RD
BM
SM
ail S
erverLD
AP
SFS
Persistence Management
Lifecycle Handling
Enterprise JavaBeans
Resource PoolingJa
va C
lient
sC
OR
BA
C
lient
s
HTT
P S
erve
r
JSPs Servlets
Session Management
Web
Bro
wse
rs
EJB Container
Enterprise Services
Web Container
JMS Server
21J2EE, enabling SOA quickstart
J2EE extended.. the Stacks
J2EE
Data Access
Functional Components
Program
ming M
odels
Web UI Components
Web App Frameworks Portals
SOAWS*New Web
22J2EE, enabling SOA quickstart
J2EE extended.. the Stacks
J2EE
JDO/Castor, Hibernate, Entity beans, SDOJDO/Castor, Hibernate, Entity beans, SDO
Session BeansSession Beans
Spring, A
spectJS
pring, AspectJ
JSP, ServletsJSP, Servlets
Struts, JSF, SpringStruts, JSF, Spring RORROR
SCA, JBISCA, JBIWS*WS*RIA, AJAXRIA, AJAX
Data Access
Functional
UI
Frameworks Portal
SOANew Web
23J2EE, enabling SOA quickstart
Where is J(2)EE Heading
Apart from now.. Dropping the “2” in the name..
J(2)EE Paradigms?AOP? ROR?
SOA
JBI, WS*Mobile Apps
Integrated platforms?
Web 2.0
RIA, Richclients, AJAX
Stacks
Spring, Hibernate,Struts, ..
JEE 5ejb3
SCA/SDO
SCA & SDOstandards
• J2EE- a leading infrastructure platform for applications• Services in J2EE today
– Foundations: Strong Web Services support, ubiquitous XML handling, and extensive enterprise integration adapters
– Design patterns promote service “facades”- so, already service “oriented”– InBuilt JMS support for building async processing
• Can easily, extend a simple J2EE with standard biz processes
24J2EE, enabling SOA quickstart
Data Center
J2EE.. Enabling web2.0 and SOA
Midtier
Functional Modules
Database Tier
Mod 1 Mod 2 …
UI
Internet/intranet
WebBrowsers
JCA
JCA
IBM
SAP
UI/Presentation
Biz logic in UI
Web 2.0
Services/Resources over web
SOA Bus
Rich UI backend facades
www.pramati.com
J2EE.. And web2.0
IT Landscape Evolves
Enter SOA and Web2.0
How does J2EE fit in
J2EE enabling Web2.0
Bite Sized SOA
Going Forward
26J2EE, enabling SOA quickstart
Client
Anatomy of a Web 2.0 Application
RSS Bin
ding
s
SOAP
REST
Aggregators
Services Access
httpRich UI
Flash?
Data Handling
XML
MediaAudio/Video++
Web 2.0 Client APIs
Web 2.0 Portal • Designed per Web 2.0..• Access other net sites & services• Expose RSS, REST, ++ access
AJAX
JS/AJAXUI Layouts
AJAX JS components
StrutsFlow Control
JSPs
Load AJAX page
Local processing (JS)
Local “flows”
App Navigation
AccessResourcesOvernetJSF?
27J2EE, enabling SOA quickstart
J2EE support for Web 2.0
• Powerful, TAGLIB based model for encapsulating client side handling
– Built into reusable serverside tags
– Programming in simple JSP, with all JavaScript embedded in tags
• Web Service standards complimented by newer XML based standards
– Such as SDO for data access over web and services
– Enables a more integrated XML based eco system, client UI included
• J2EE getting SOA friendly- helps easier integration with Web2.0
• JSF for better web2.0. Facilitates:
– Tight proxies for web2.0 fronts- for RIA
– Enabling PUSH from server to clients
– Maintaining state when ASYNC calls are being made
– Enabling services access from AJAX clients, thru server
28J2EE, enabling SOA quickstart
JSF Application Architecture
What is Java Server Faces?
29J2EE, enabling SOA quickstart
Case: Ajax4Jsf
30J2EE, enabling SOA quickstart
Case: ICEsoft ICEfaces
www.pramati.com
Bite-sized-SOAJ2EE for SOA quickstart
How J2EE enables quick adoption
IT Landscape Evolves
Enter SOA and Web2.0
How does J2EE fit in
J2EE enabling Web2.0
Bite Sized SOA
Going Forward
32J2EE, enabling SOA quickstart
Raw Materials
Mailroom 3Mailroom 3
Business Processing triggered by sending form to the first dept.
Customer Care Dept
Mailroom 1Mailroom 1
Order Processing
MailroomMailroom
Shipping
Mailroom 6Mailroom 6
Warehouse
MailroomMailroom
Manufacturing
Mailroom 4Mailroom 4
Organization
Form
Form/document
start
end
1 2 3
466
SOA, to automate flows and services
Automate, across “existing” systems
33J2EE, enabling SOA quickstart
SOA adoption: Where should one start
Constant Reengineering
Implementation Roadmap
Evolve Architecture• Roadmap• Platform & Standard• Third Parties (B2B)
Build SkillsDelivery Model
Strategic Alignment
POC• Get hands around Tech• Understand the platform• Get Service “oriented”
Enterprise Architecture Team• Build competencies
• Standardize and then implement?
• Or, even as you standardize, start implementing?
• Top-down- CIO driven– Standardize on infrastructure
first– Then get each application in the
enterprise to get “wired” into this infra
• Bottom-up- developer driven– Start incorporating “Service
orientation” into each application
– Build Facades– Build processes– Ready to integrate with any SOA
infrastructure
34J2EE, enabling SOA quickstart
Bottom-up: Service orientation is the key!
• Existing applications must first “think” services
– Only then can they integrate into an enterprise wide services environment
• Building “Service orientation” into applications
– Think services
– Extend existing applications to enable services
– Build notion of processes into the applications
– A localized solution, without overloading this with an organization wide SOA adoption
• Starting to solve localized problems, and get the "service orientation" into the IT organization's grassroot level is a key to a successful SOA adoption.
– Get services and processes into a "point" solution first
– Say, in a single full J2EE app that could eventually be a part of a larger SOA Start local. Expand global.
J2EE, perfect..
35J2EE, enabling SOA quickstart
SOA inJ2EE, layering on existing apps
Build Services (facades) and Processes onto existing J2EE applications
Legacy Apps
Services(Java/other)
Connectors
SOA/ESB
Services
XML
Processes (BPEL)
J2EE/.NET
Process Engines
Process Designer
Tools: Service Development
XML bus
schemas
36J2EE, enabling SOA quickstart
J2EE solutions, to be brought into SOA..
App bus
Aapp
C E
B
user Web EJBSession Beans
Façade/WS
Local interactions
Otherservices Schema
repository
Legacy
ServicesRegistry
wrappers
Inboundaccess
37J2EE, enabling SOA quickstart
Service Locator
Bottom-up: Typical missing pieces
Database access
Ada
pter
s
Web Service
JCA
Legacy,SAP, DB2, etc.,
Txns
Sec
urity
AppUI
MVC
ModuleLevel
Facades
Fine grainedBusiness
componentsSB’s
ExternalApplications
Inward requests viaWS/JMSWS
browser
Biz Delegate
2. Work to enable external access to
app’s services
1.Customization involves Java code.
Even for simple process changes
3. No simple mechanism to access services from other
apps
4. No simple mechanism
to get an integrated UI across apps
5. Leverage the new web2.0 abstractions
38J2EE, enabling SOA quickstart
The “re-engineered” Application
Database (Hibernate/EJB3.0 EB)
Business Facades SLS
Inte
grat
e lo
wer
le
vel o
pera
tions
Web Service
JCA
Legacy,SAP, DB2, etc.,
Schema Rep
Txns
Sec
urity
appUI
Portlets
MVC
ModuleLevel
Facades
Fine grainedBusiness
componentsSB’s
Processes(Workflow, BI, BPEL)
EJB
ExternalApplications
Inward requests viaWS/JMS
WS
MDB
Outward requests viaWeb Service
Must use J2EE
security and transactions
browser
New, to be built
39J2EE, enabling SOA quickstart
The interactions• Application is now in three parts:
– UI– BPEL Processes– Session Bean facades include data
access
• UI- could use AJAX and/or portlets– AJAX thru JSF– Portlets- access JSPs, through the
MVC framework
• MVC action classes accesses the functional layers– Either BPEL processes or Facades
• Facades are Session beans, providing the high level biz functionality– All DB access and other internal
processing (more session beans) is inside this layer
• BPEL: the embedded “process” layer– can access the session facades of this
module, or can access Web Services anywhere else in the app-Bus
app bus
user
App A
Rich/ajax
BpelProcesses EJB
Session Beans
Façade/WSUI
App Bportlets bpel facades
Local accessesExternal (app) accesses
Embed other portlets in UI
Portlets, access other BPELs
BPEls access other services
40J2EE, enabling SOA quickstart
Now, integrating apps becomes easier• BPEL processes essentially consist of
process flow and service steps
• Steps can be any service access
– Services in the same application
– Other processes in this application
– Services or processes provided by other applications
• Additionally, a service step in a biz process could be an external Web service as well
– Using the same approach for accessing legacy systems and other supply chain services
facadesOther processes
ExternalWeb services
Otheapps
41J2EE, enabling SOA quickstart
Now, the app is ready for SOA
App bus
Aapp
C E
B
UI[AJAX, ++]
BpelProcesses EJB
Session Beans
Façade/WS
app bus/ communications
Otherservices
Schemarepository
Legacy
ServicesRegistry
Four key parts:2. An integrated UI3. Biz flows in easy to view and edit form of BPEL4. Well defined functional services as facades5. Facades and Biz Processes by default available as
Web Services
42J2EE, enabling SOA quickstart
J2EE 1.4- inbuilt “Service” foundations
infra
ServicesClient App
ESBLib
Service ContainerService
Implementation
Security Audit /Logging
User/AuthRepository
CertificateStore
Encryption
User/Tokens
Dig Signature
Message
Encryption
Trust Mgmt
Dig Signature
Authentication
Authorization
SECURECOMMUNICATIONS
• In-built Web Services support in J2EE 1.4
– Support to extend Session Beans, Message Driven Beans, servlets as web services.
– Components can easily be exposed as a servicec from with-in the container environment
– J2EE platform includes the complete Web Services runtime- a port component for the web and EJB containers, with SOAP/HTTP or JMS transports.
• Support for WS-*
www.pramati.com
In Parting..
44J2EE, enabling SOA quickstart
Little about Pramati
• Infrastructure products for global markets
– Excellence in Design and Execution
• Knowledge-based rather than cost-based
– Leverage India’s strengths and true value
– If we can do it in the Bay Area, we can do it here
• Invest in R&D for cutting-edge products
• Partner with the best, go to market together
• Global recognition of Engineering capability• Technology leadership• Talent Magnet
The Result
The Vision
45J2EE, enabling SOA quickstart
Extending our Product/technology strengths
CORE COMPETENCY• High quality software design and development
• In depth understanding of app servers, middleware, platforms, web services
• Participation in Java standards•Deep Expertise in Java, J2EE, XML and tools
• Process and automated Systems that are proven to produce reliable software
• India advantage
PRODUCTS SERVICES
PRODUCT EXPERIENCE
DOMAIN UNDERSTANDING
We have done it for our products. Now, extending it to help build custom products And Technology Consulting.
Custom Product Development
Technology Consulting
MiddlewareProducts
46J2EE, enabling SOA quickstart
Awards and Recognition
Best shrink wrapped product from India – CSI Infosys Award, 2003
Entrepreneur of the year – HMA, 2003
Best product – HYSEA , 2002
Hewitt Associates Survey – Top 20 employers in India
Top10 Indian software product company – NASSCOM, 2002
Globally first to be certified for J2EE™ 1.3
Invited presentation at NASDAQ by 10 select IT companies from India
Best Application Server: 5-star rating by ServerWatch
www.pramati.com
Questions?
www.pramati.com
Patterns. AntiPatterns.
Java Patterns in Systems
Patterns in UI Tools
Patterns for SOA/ESB
Conclusions
Thank You
http://jroller.com/page/rameshl
“If you have great engineers and you have capital and entrepreneurial skills, you've got to eventually get some successes. I expect in the next couple of years there could be an Indian software company that has a household name in the U.S.”
– James Governor, Illuminata Analyst, Mar 2002 .
49J2EE, enabling SOA quickstart
50J2EE, enabling SOA quickstart
J2EE- comprehensively enabling services
• JAX-RPC– Servlet-based Web service endpoint
model– XML data types to/from Java types
mapping– WSDL to/from Java mapping– JAX-RPC Client Programming Models– SOAP Message Handler framework– Extensible type mapping
• SAAJ– Handles low-level SOAP message
handling– Contains the API for creating and
populating a SOAP messages conforming to SOAP 1.1and SOAP with Attachment specifications
– Used by high-level APIs (such as JAX-RPC runtime)
– Contains API necessary for sending request-response (non-provider-model) messages
• Transports– HTTP, SMTP, JMS, TCP
• JAXR– Standard Java API for performing– registry operations over diverse set– of registries– Web service publication & discovery– A unified information model for– describing business registry content– Provides multi-layered API abstractions
• Level 0: for UDDI• Level 1: for ebXML registry/repository.
• EJB 2.1– Servlets, Stateless SB and MDBs can be
exposed as a web service– Stateless Session Bean-based Web
services endpoint model• Stateless session bean can be web services
implementation– Web services endpoint interface
• (servicedefinition interface) for Stateless session bean
• Can implement SOAP Message Handlers for Stateless session bean based endpoint
•Summary: J2EE 1.4 is an umbrella framework for Web services that addresses overall Web servicesarchitecture over J2EE. The Client model is based on JAX-RPC, The server
programmingmodel is based on JAX-RPC and EJB 2.1. It also supports Deployment model, WSDL
binding and Security and provides supports to plug-in the WS-* standards easily.