Synergies between J2EE, SOA & Web2.0 Ramesh Loganathan VP, Middleware Technologies, Pramati

Synergies between J2EE, SOA & Web2.0 Ramesh Loganathan VP, Middleware Technologies, Pramati Technologies Speaking at IndicThreads conference on Java T...
1 downloads 0 Views 2MB Size
Synergies between J2EE, SOA & Web2.0 Ramesh Loganathan VP, Middleware Technologies, Pramati Technologies Speaking at IndicThreads conference on Java Technologies Pune, December 1, 2006

www.pramati.com

Over the next hour..

IT Landscape today Enter SOA and Web2.0 Where does J(2)EE fit in J2EE enables Web2.0 Bite Sized SOA Going forward

J2EE, enabling SOA quickstart

2

lves o v E ape   Web2.0 c s d an nd  t in a    IT L A i er SO s J2EE f b2.0  Ent  doe ling We  How nab OA e   E  J2E d S e z i S   ard  Bite w r o ng F  Goi

IT Landscape evolves From monolithic mainframe, thru multi-tier applications, to SOA and Web2.0

www.pramati.com

IT landscape today IT solutions today  are localized solutions for specific biz/problems

User connects to each system And checks up individual status Order Processing Solution J2EE

CRM App. .NET

SAP ERP Solution IT Islands

Warehouse & Logistics J2EE

HR People Soft

How did we get here.. J2EE, enabling SOA quickstart

4

1990s: from monolithic, to multi tier UI UI/Presentation Biz logic in UI

2 tier

UI & Biz logic  Tier separation not very strict.

Database Tier Mid­tier Functional  Modules

Mod 1

Mod 2



3 tier

Database Tier

J2EE, enabling SOA quickstart

5

Onto.. Web based architectures WebBrowsers

UI & Biz logic not clearly  separated. Tier separation not  very strict.

UI Internet/intranet

UI/Presentation Biz login\c in UI

Mid­tier

Data Center

Functional  Modules

Mod 1

Mod 2



Database Tier

J2EE, enabling SOA quickstart

6

2000, extended organization (integration) WebBrowsers

Internet/intranet

Data Center Mid­tier UI/Presentation

Functional  Modules

Mod 1

Mod 2



JCA

Biz logic in UI

IBM JCA

UI

Database Tier J2EE, enabling SOA quickstart

7

SAP

HTTP Server

Java Clients

Resource  Pooling

Transaction  Service

Resource  Service

Naming  Service

Load Balancing

Web­based Administration  via JMX Console

Cluster  Manager

Remote Admin

JMS Server (Async Messaging) Enterprise Java Applications Elsewhere

J2EE, enabling SOA quickstart

8

Mainframes

Lifecycle  Handling

SFS

Fail over

MDB

LDAP

DB  Connectivity

Persistence Management

Mail  Server

Session Management

Enterprise JavaBeans

Legacy Applications (like ERP)

Servlets

Connector API

CORBA  Clients

RDBMS

JSPs

Enterprise Level Security Framework

Web Browsers

J(2)EE- Enterprise Platform Evolves

lves o v E ape   Web2.0 c s d an nd  t in a    IT L A i er SO s J2EE f b2.0  Ent  doe ling We  How nab OA e   E  J2E d S e z i S   ard  Bite w r o ng F  Goi

www.pramati.com

Enter, SOA and Web2.0

Interactions exist, even before SOA Business Processing  triggered by sending  form to the first dept. Form

Customer  Care Dept

Order  Processing

­­­

start

Mailroom 1 ­­­

1

Raw  Materials

Mailroom

2

Mailroom 3

­­­ ­­­

­­­ ­­­

3

Organization ­­­ ­­­

end

­­­ ­­­

6

­­­ ­­­

6 Mailroom 6

Shipping

4

Mailroom

Mailroom 4

Warehouse

Form/ document

Manu­ facturing

•Document “flows” thru the organization, and gets processed. •Simplifying and Automating these flows is the objective of SOA.. J2EE, enabling SOA quickstart

10

SOA.. Extend “existing” systems •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 

PORTA L SERVIC E

USERDEFINED SERVICE APPLICATI ON SERVER

BROAD-SCALE INTEROPERABIL ITY MODULARITY / RELATION REUSE INCREMENTAL AL DEPLOYMENT DATABAS PROCESS FLEXIBILIT E SERVER Y LEGACY APPLICATI ON

BATCH SYSTEM

J2EE, enabling SOA quickstart

11

Existing Systems fitting into SOA E

C

B

App bus Services Registry

Outbound Services access

Local interactions Façade/WS user

UI

Leg acy

app

A

Schema repository

wrappers Inbound access

EJB Session  Beans

J2EE, enabling SOA quickstart

Inbound and  Outbound services. 12

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.. J2EE, enabling SOA quickstart

13

Web2.0: in the enterprise Web 

Enabling Web2.0

Services

Services Ama zon

Info

WebBrowsers Rich UI

Searc h  engine

WEB / Internet intranet



Commerc e

Flickr (taggin g)

Wiki  pedi a

Blogs &  Info  sites

mysp Communities aces

Application  RIA Application Server

Google  earth Geo-spatial

SOA

Net/financial services Pay.t eBay

Gateway

Banks

J2EE, enabling SOA quickstart

14

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”: Web 1.0

 

Web 2.0

DoubleClick

­­>

Google AdSense 

Ofoto

­­>

Flickr

Akamai

­­>

BitTorrent

mp3.com

­­>

Napster

Britannica Online

­­>

Wikipedia

personal websites

­­>

blogging

screen scraping

­­>

web services

publishing

­­>

participation

content management systems

­­>

wikis

directories (taxonomy)

­­>

tagging ("folksonomy")

stickiness

­­>

syndication

J2EE, enabling SOA quickstart

15

Different people.. Different strokes Solution Architects Usability Engineer

Information Designer

UI Designer

Enterprise Solutions

Portals & Application Designers

Bring SOA To the User (UI) Fat clientsFocus more Better user exp On backend services

Simple Interactions. Refer Multiple sites

Content Producers

Wide Consumer base

Web 2.0

SMB  Software Software As a service Developers

Collated & Aggregated

More Online Usage potential

Rich UI

Simple, & rich, Solutions

User J2EE, enabling SOA quickstart

16

Services

Web2.0 and SOA- how similar? •

XML based

• Services over web (SOAP/REST) • Access data as XML (RSS/WSdoc-literal)

BPEL  processes

Rich UI AJAX

SOAP Client http

XML

SOAP/http

web

REST

WS­* RSS

Services

SAAS

Admin

Resources

Even better, Web2 can be a front for SOA.. J2EE, enabling SOA quickstart

17

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

J2EE, enabling SOA quickstart

18

lves o v E ape   Web2.0 c s d an nd  t in a    IT L A i er SO s J2EE f b2.0  Ent  doe ling We  How nab OA e   E  J2E d S e z i S   ard  Bite w r o ng F  Goi

www.pramati.com

Where does J2EE fit in all these

HTTP Server

Java Clients

JMS Server

Lifecycle  Handling

Asynchronous Messaging

Fail over

Load Balancing

Cluster  Manager

Resource  Pooling Remote Admin

Enterprise Services Web­based Administration via JMX Console Enterprise Java Applications Elsewhere

J2EE, enabling SOA quickstart

20

SFS

CORBA  Clients

Persistence Management EJB Container

LDAP

Session Management

Mainframes

Web Container

Enterprise JavaBeans

Legacy Applications (like ERP)

Servlets

DB  Connectivity

Mail  Server

JSPs

Resource  Service

RDBMS

Transaction  Service

Connector API

Naming  Service

Enterprise Level Security Framework

Web Browsers

Complete Enterprise Runtime Environment

J2EE extended.. the Stacks J2EE New Web

WS*

SOA

Portals

Web UI Components Functional Components Data Access

J2EE, enabling SOA quickstart

21

Programming Models

Web App Frameworks

J2EE extended.. the Stacks New Web

RIA, AJAX

WS*

Struts, JSF, Spring

Functional

SCA, JBI

Portal

ROR

JSP, Servlets Session Beans

Data Access

JDO/Castor, Hibernate, Entity beans, SDO

J2EE, enabling SOA quickstart

22

Spring, AspectJ

Frameworks

UI

SOA

J2EE

Where is J(2)EE Heading Apart from now.. Dropping the “2” in the name..  Integrated platforms? RIA,  Rich­clients, AJAX

Mobile Apps

JBI, WS*

Web 2.0

SOA

Spring, Hibernate, Struts, ..

Stacks

ejb3

JEE 5

SCA & SDO standards

SCA/SDO

J(2)EE

Paradigms?

AOP? ROR?

• 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           J2EE, enabling SOA quickstart

23

J2EE.. Enabling web2.0 and SOA WebBrowsers

Web 2.0

Services/Resources  over web Internet/intranet

SOA Bus Data Center Mid­tier

Rich UI backend

UI/Presentation

Functional  Modules

Mod 1

Mod 2

IBM …

JCA

Biz logic in UI

facades JCA

UI

Database Tier J2EE, enabling SOA quickstart

24

SAP

lves o v E ape   Web2.0 c s d an nd  t in a    IT L A i er SO s J2EE f b2.0  Ent  doe ling We  How nab OA e   E  J2E d S e z i S   ard  Bite w r o ng F  Goi

J2EE.. And web2.0

www.pramati.com

Anatomy of a Web 2.0 Application Web 2.0­ Client APIs

Services Access

Rich UI

UI Layouts

Flash? AJAX

http

JS components

Local  processing (JS)

Data Handling XML

Load  AJAX page

Aggregators

AJAX

SOAP

JSF?

REST

Media

Audio/Video++

RSS

Bindings

Local “flows”

JS/AJAX

Access Resources Over net

Client

Web 2.0 Portal 

App Navigation

• • •

JSPs

Struts Flow

Control J2EE, enabling SOA quickstart

26

Designed per Web 2.0.. Access other net sites & services Expose RSS, REST, ++ access

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 J2EE, enabling SOA quickstart access from AJAX27 clients, thru server

What is Java Server Faces? JSF Application Architecture

J2EE, enabling SOA quickstart

28

Case: Ajax4Jsf

J2EE, enabling SOA quickstart

29

Case: ICEsoft ICEfaces

J2EE, enabling SOA quickstart

30

lves o v E ape   Web2.0 c s d an nd  t in a    IT L A i er SO s J2EE f b2.0  Ent  doe ling We  How nab OA e   E  J2E d S e z i S   ard  Bite w r o ng F  Goi

Bite-sized-SOA J2EE for SOA quickstart How J2EE enables quick adoption

www.pramati.com

SOA, to automate flows and services Business Processing  triggered by sending  form to the first dept. Form

Customer  Care Dept

Order  Processing

­­­

start

Mailroom 1 ­­­

1

Raw  Materials

Mailroom

2

Mailroom 3

­­­ ­­­

­­­ ­­­

3

Organization ­­­ ­­­

end

­­­ ­­­

6

­­­ ­­­

6 Mailroom 6

Shipping

4

Mailroom

Mailroom 4

Warehouse

Form/ document

Manu­ facturing

Automate, across “existing” systems J2EE, enabling SOA quickstart

32

SOA adoption: Where should one start Implementation Roadmap

• Standardize and then implement? • Or, even as you standardize, start implementing?

Enterprise Architecture Team •

Build competencies

POC

• Top-down- CIO driven

• • •

– Standardize on infrastructure first – Then get each application in the enterprise to get “wired” into this infra

Strategic Alignment Delivery Model

• Bottom-up- developer driven – Start incorporating “Service orientation” into each application – Build Facades – Build processes – Ready to integrate with any SOA infrastructure J2EE, enabling SOA quickstart

Get hands around Tech Understand the platform Get Service “oriented”

Build Skills

Evolve Architecture • • •

Roadmap Platform & Standard Third Parties (B2B)

Constant Re­engineering 33

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 Start local. Expand global. larger SOA J2EE, enabling SOA quickstart

34

J2EE, perfect..

SOA inJ2EE, layering on existing apps Process  Designer

Processes  (BPEL) Process Engines

schemas

XML bus

XML

Services Tools: Service  Development

Services (Java/other)

Build Services  (facades) and  Processes onto  existing J2EE  applications

SOA/ESB Connectors

Legacy Apps J2EE/.NET J2EE, enabling SOA quickstart

35

J2EE solutions, to be brought into SOA.. E

C

B

App bus Services Registry

Other services

app

Local interactions Façade/WS user

Web

Leg acy

A

wrappers Inbound access

EJB Session  Beans

J2EE, enabling SOA quickstart

36

Schema repository

Bottom-up: Typical missing pieces browser

1.Customization  involves Java code.  Even for simple  process changes

App­UI

External Applications

2. Work to enable  Inward requests via WS/JMS WS external access to  app’s  services

MVC

Biz Delegate

Service Locator

Txns

Module Level Facades

5. Leverage the new  web2.0 abstractions

Fine grained Business  components

SB’s

JCA

Database access

J2EE, enabling SOA quickstart

Adapters

4. No simple  mechanism  to get an  integrated UI  across apps

Security

Web Service

Legacy, SAP,  DB2,  etc.,

3. No simple  mechanism to access  services from other  apps

37

The “re-engineered” Application browser

app­UI

Outward requests via Web Service

Processes

(Workflow, BI, BPEL) EJB

MDB

MVC

WS

Txns

Security

Business Facades SLS Must use  J2EE  security and  transactions

Module Level Facades

Fine grained Business  components

Inward requests via WS/JMS

SB’s

Integrate lower  level operations

Portlets  

External Applications

Web Service

JCA

Legacy, SAP,  DB2,  etc.,

Database (Hibernate/EJB3.0 EB) New, to be built

Schema  Rep J2EE, enabling SOA quickstart

38

The interactions • Application is now in three parts:

App B

– UI – BPEL Processes – Session Bean facades include data access

portlets

Portlets,  access other  BPELs

• UI- could use AJAX and/or portlets

Façade/WS

UI

user Rich/ajax

Bpel Processes

– All DB access and other internal processing (more session beans) is inside this layer

EJB Session  Beans

App A

• BPEL: the embedded “process” layer – can access the session facades of this module, or can access Web Services anywhere else in the app-Bus J2EE, enabling SOA quickstart

BPEls access  other  services

Embed other  portlets in UI

• MVC action classes accesses the functional layers • Facades are Session beans, providing the high level biz functionality

facades

app bus

– AJAX thru JSF – Portlets- access JSPs, through the MVC framework

– Either BPEL processes or Facades

bpel

Local accesses

External (app) accesses

39

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

J2EE, enabling SOA quickstart

40

Othe apps

facades

External Web services Other  processes

Now, the app is ready for SOA E

C

Leg acy

B

App bus Services Registry

Other services

app

A

Schema repository

app bus/ communications Façade/WS UI Bpel [AJAX, ++] Processes

EJB Session  Beans

J2EE, enabling SOA quickstart

Four key parts: 2. An integrated UI 3. Biz flows in easy to view and edit form of BPEL 4. Well defined functional services as facades 5. Facades and Biz Processes by default available as  Web Services

41

J2EE 1.4- inbuilt “Service” foundations • 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 Services JMS transports.

• Support for WS-*

Service Container Service

Implementation

Client App ESB Lib

Authorization Authentication

Encryption Dig Signature

Encryption

Trust Mgmt

Dig Signature

infra        

User/Tokens Message Security Audit / Logging J2EE, enabling SOA quickstart

SECURE COMMUNICATIONS

User/Auth Repository 42

Certificate Store

In Parting..

www.pramati.com

Little about Pramati •

The Vision

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

The Result

• Global recognition of Engineering capability • Technology leadership • Talent Magnet

J2EE, enabling SOA quickstart

44

Extending our Product/technology strengths PRODUCT  EXPERIENCE

Middleware Products

Custom Product  Development

CORE COMPETENCY • High quality software design and development • In depth understanding of app servers,  middleware, platforms, web services PRODUCTS 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

DOMAIN UNDERSTANDING

Technology  Consulting

We have done it for our products. Now, extending it to help build custom products And Technology Consulting. J2EE, enabling SOA quickstart

45

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

J2EE, enabling SOA quickstart

46

Questions ?

www.pramati.com

rns. e t t a ti­P ystems n A   . erns rns in S ls  Patt atte I Too P   a v  Ja n U A/ESB i   s n er  SO r  Patt o f   erns ns  Patt o clusi  Con

“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

Thank You [email protected] http://jroller.com/page/rameshl www.pramati.com

.

J2EE, enabling SOA quickstart

49

J2EE- comprehensively enabling services •Summary: J2EE 1.4 is an umbrella framework for Web services that addresses overall Web services programming



JAX-RPC – – – – – –



model 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.





– –

Transports

J2EE, enabling SOA quickstart

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 • •



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 JAXRPC runtime) Contains API necessary for sending request-response (non-provider-model) messages

JAXR – – – – – – –

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 –



architecture over J2EE. The Client model is based on JAX-RPC, The server

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 •



Web services endpoint interface • •

50

Stateless session bean can be web services implementation (servicedefinition interface) for Stateless session bean Can implement SOAP Message Handlers for Stateless session bean based endpoint

Suggest Documents