1 / 34

Web Services Done Right Done Quickly

Web Services Done Right Done Quickly. Matthew Fowler New Technology/ enterprise Ltd London. Agenda. NT/e's Experience Architecture for Web Services JeeWiz - A J2EE System Generator. NT/ e ’s Experience with BEA. 40 Projects on behalf of BEA All sizes - very large to small

candace
Télécharger la présentation

Web Services Done Right Done Quickly

An Image/Link below is provided (as is) to download presentation Download Policy: Content on the Website is provided to you AS IS for your information and personal use and may not be sold / licensed / shared on other websites without getting consent from its author. Content is provided to you AS IS for your information and personal use only. Download presentation by click this link. While downloading, if for some reason you are not able to download a presentation, the publisher may have deleted the file from their server. During download, if you can't get a presentation, the file might be deleted by the publisher.

E N D

Presentation Transcript


  1. Web ServicesDone RightDone Quickly Matthew Fowler New Technology/enterprise Ltd London

  2. Agenda NT/e's Experience Architecture for Web Services JeeWiz - A J2EE System Generator

  3. NT/e’s Experience with BEA 40 Projects on behalf of BEA All sizes - very large to small All roles - architect to deployer All stages - Proof Of Concept to go-live WLS Training - Development, Admin WLS 4.0 -> WLS 6.1 WLC, WLPI, WLCS

  4. Some Projects Banks: Deutsche, Dresdner, UBS Warburg Finance: Capital One, EBRD, Crest Comms: British Telecom, Nokia, Equant FT100: BA, BP Amoco, Sainsburys Others: FT, TAG Maclaren, Jumpy, Vizzavi BEA Partners: Accenture, CSC, Scient

  5. Part 2.Architecture for Web Services The Background - BT Project The Battles The Principles The Architecture - A Synthesis

  6. British Telecom Internal System Team "Common Entry Point" Multi-channel, multi-client ... large! WLS replaced IBM DCE RPC WLE The Background

  7. Client Systems Mainframes RetailCall Centre CustomerInformation BT.com WebLogic Server Mid-Tier WebLogicEnterprise Login MUX BusinessCustomers BusinessCustomers COSMOS Network Management

  8. The Battles RMI or EJB access route Straight-through, no value-add Stateful or Stateless Ru-Use on Business Objects Access to "Entities" Where is the business logic Access to mainframes/back-end services

  9. RMI or EJB access route Issue: RMI access simpler, it's an option Need: Transaction & network management Resolution: EJB - RMI excluded Realisation: EJB Facade layer

  10. Straight-through, no value-add Issue: enough business logic on mainframe Need: access to login server Resolution: Support straight-through Value added Transaction & network management Access Routes at front and back ends Realisation: Special Session EJBs

  11. Stateful or Stateless Issue: amount of mid-tier information Need: response-time/throughput goals Resolution: allow either

  12. Re-Use on Business Objects ? Issue: Scepticism concerning reuse on "Business Objects" Need: ROI demands maximal reuse Resolution: Reusable "Business Objects" Non-reusable "Business Process Objects" Realisation: BPOs and BOs

  13. Access To "Entities" Issue: "give me entity info, no biz process" Need: simple multi-client access to entity information Resolution: allow access to Biz Objects Realisation: generic "BO Access" Session EJB Caveat: use for retrieval only

  14. Where is the business logic Issue: Why have business logic in mid-tier? Need: Performance, ease of programming Resolution: allow none, or lots Realisation: three styles: no business object access to business object via generic EJB use full BPO stack

  15. Issues: Little objects, big transactions Multiple-choices for mainframe transactions Migration to WebServices at M/F Resolution: Information Layer driven by Business Process Smart mapping, caching, XML intermediate Access to Mainframes/back-end services

  16. Channels Access Routes (Servlets) Pluggable Access Routes, e.g. SOAP, Http/XML Accessible Services Services (Session EJBs) Client Identity, BP Selection, Exception Handling Accessible Business Processes Business Process Objects (Java) Client-Specific Business Procedures Business Concepts Business Objects (Java) e.g. AccountBO, CustomerBO, OrderBO Dependent Data e.g. OrderLine Business Information Information Objects (Java) e.g. Account, Customer, Order Dependent Data Persistence Persistence / Transactions EJB, Connectors, Web Services, CORBA

  17. Business ProcessAutomation Http/XMLClient SOAP Client JavaClient WLS Http/XMLServlet SOAPServlet Services - Session EJBs Business Processes Generic BO Access Business Objects Information Objects CORBA EJB WebServices JCA

  18. Done Right Major long-term savings Can handle highly complex processes But not done quickly Long Proof Application Programmer training How to do it quickly ???

  19. J2EE Development 1999-2001 The JeeWiz! Vision How JeeWiz! Works Benefits Next Steps Part 2.The Java Enterprise System Builder

  20. J2EE Development 1999-2001 Start-up long and expensive Architecture, PoC, Performance, Document And finally … the application Constant Change - EJB1.1/2.0, JSPs, Portals Mixing of Infrastructure and App Development Complex, difficult to change

  21. J2EE Development Example 8 months duration, average 4 people Develop sample, productise, throw away Develop sample, productise, document Try to teach Application programmers But it was really hard Total cost: > DM 1,000,000

  22. The JeeWiz! Vision First Vertical Slice, Localised, in 2 Weeks Good for small or large enterprises

  23. The JeeWiz! Vision - Goals Simplify for application developers Easier adaptation to change Package architectural patterns Reduce start-up time Reduce cost Reduce risk

  24. How JeeWiz! Works Application Development and Deployment J2EE System Components and Patterns for Web Services Foundation Ant + Patterns + XML Specifications

  25. JeeWiz! Foundation - Tools Ant - Java-based builder more intelligence into the build process Velocity - pattern generator separate patterns from application definition XML the new specification and interchange language

  26. JeeWiz! Foundation - Process Patterns +Standards Implementation Unit TestApp Servers J2EE Expert Patterns +Standards Specification ApplicationImplementation Architect SystemTestApp Servers ApplicationProgrammer ApplicationSpecification ApplicationAnalyst Out-of-the-boxpatterns and standards ProductionApp Servers DeploymentDescriptions Assembler /Deployer

  27. JeeWiz! Foundation - Patterns Application Specification Generated Code and Descriptors Directory Naming /src/AccountEJB/ entity name = Account File Naming AccountPK.java attribute name = AccountID Java Object Naming public class AccountPK { public AccountPK() {} abstract public int getAccountID(); abstract public void setAccountID( int i ); } type = int Code generation key = true Deployment descriptor generation <entity> <ejb-name>AccountBean</ejb-name> </entity>

  28. JeeWiz! Foundation - Deployment Runnable WLS configuration Application programmer generates unit test deployment Assembler / deployer add overrides XSL-T (XML Transformations) today 'XMLMerge' utility tomorrow

  29. JeeWiz! Foundation Patterns help application programmers reduces effort reduces complexity reduces risk eases maintenance promotes standards Foundation can be adapted to new areas

  30. JeeWiz! J2EE Patterns Builds on the Foundation Design language for J2EE applications A complete set of patterns for Web Services ... to EJBs Includes deployment Doesn't (yet) include testing, Rational Rose

  31. Customer Benefits Cheaper, quicker start-up Improved productivity for bulk of developers Cheaper, quicker maintenance Clearer reponsibilities for personnel Easier to use new technologies

  32. JeeWiz USPs Combination of build engine is end-to-end and adaptable NT/e's EJB pattern enterprise-level features for deployment EJB2.0 and Web Services No run-time overhead/cost

  33. JeeWiz! Futures Automatic testing Integration with Rational Rose / RUP Documentation production Business Rules using EJB2.0 JCA, integration with WLI

More Related