1 / 19

Enterprise Computing

Enterprise Computing. COSC 617 Jeff Schmitt September 7,2006. Enterprise Computing. Combining separate applications, services, and proccesses Unified system which is greater than the sum of its parts Difficulties have been made easier by powerful tools and API’s

Download Presentation

Enterprise Computing

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. Enterprise Computing COSC 617 Jeff Schmitt September 7,2006

  2. Enterprise Computing • Combining separate applications, services, and proccesses • Unified system which is greater than the sum of its parts • Difficulties have been made easier by powerful tools and API’s • Heterogeneous network of systems (mainframe, mini, OS, legacy)

  3. Enterprise Computing (Cont.) • Different protocols, overlapping standards • Standards extended by vendors in unstandard ways • Vocabulary and terminology can date back to earlier era, causing confusion • In the past, ad-hock tools were used to create enterprise systems • Today we have some standards that help

  4. Java in Enterprise Computing • Platform independent • Heterogeneous networks no problem • J2EE framework forms a single, standard layer API on top of various proprietary or vendor-enhanced API’s • J2EE provides a solid foundation from which you can layer additional API’s, non-standard or standard. • Older systems lacked Object Orientation, which Java supplies

  5. Standard Java Enterprise API’s Basic tools • JAXP – Java API for XML Parsing • Consuming and producing XML • J2EE security • authentication and authorization, identity propagation • deployment descriptor scripting

  6. Std. Java Enterprise APIs (cont)Web UIs and components • Java Servlets • Multithreaded, memory resident • HTTP doGET, doPOST methods • HTTP request, response objects • Not a file, needs servlet mapping • JSP Java Server Page – • Compiled to a servlet • Acts like a file • Intended to separate page design from java programming • JSF Java Server Faces • UI component model

  7. Std. Java Enterprise API’s (cont)Data Access • JDBC Java Database Connectivity • vendor independent interface to server to execute SQL and receive result sets • JNDI – Java Naming and Directory Integration • working with directory services • JTA Java Transaction API • Manage distributed transactions, a group of transactions that must behave atomically. • Binding for the XA API (Open Group)

  8. Std. Java Enterprise API’s (cont)Distributed Computing-Web Services • JAX-RPC Java XML Remote Procedure Calls • SAAJ – SOAP with Attachments API for Java • Using and writing web services • XML-based protocol transmitted over HTTP, etc

  9. Std. Java Enterprise API’s (cont)Distributed Computing-Remote Objects • Java RMI- Remote Method Invocation • Extends OO paradigm to client/server • Client and server must be written in Java • Java IDL and Corba • Like RMI but for heterogeneous networks where clients and servers can be written in arbitrary languages • EJB – Enterprise Java Beans • Component model for units of business logic • Run within an EJB container which is in an Application server – both layers add services

  10. Std. Java Enterprise API’s (cont)Messaging • JMS – Java Messaging Service • General Enterprise Messaging • Message – a chunk of data sent from one system to another asynchronously • Serves as a kind of event notification • JavaMail – Java Email • Sending and receiving - SMTP, POP, IMAP • JavaBeans activation Framework - MIME based email messages

  11. Defacto Standards for Enterprise • J2EE is a critical mass for developing and running enterprise applications but some gaps are left • Gaps allow developers to be creative • Some gaps are temporary while J2EE standards are being developed • Some gaps are intentional when it does not make sense to develop a standard. • Our study will be of standards which • Open Source solutions • Large size of user community

  12. Defacto Tools for Enterprise • Ant • Building and deploying applications • Junit and Cactus • Testing your objects, components and applications • Struts • Implementing Model-View-Controller systems • Hibernate • Object Relational Mappings • XDoclet and Java annotations • Metadata to simplify development

  13. Enterprise Computing Scenario • CornCO, Inc. • Catalog-based mail-order business • Sell fresh flavored popcorn • Servers • Web server for customer shopping • Application server to run J2EE apps • Database server for storing data • Billing server is a legacy application • Messaging server (email, SMS, etc.)

  14. CornCo order processing • Customer uses web browser to access http://www.cornco.com/ • Shopping Card servlet • User authentication (login) • implements “session” to make stateless HTTP transactions into stateful transactions • JDBC to access RDMS for product information • Checkout servlet will access enterprise APIs • JDBC to access RDBMS database for customer information • CORBA remote object to access legacy billing server which has non-standard interface • JNDI to access directory of warehouses to choose one near customer • JMS to access messaging server -- to send order to warehouse and queue the message

  15. CornCo Enterprise Computing • Flaw in previous system – transactional integrity • Send billing information to one server • Send fulfillment information to another server • If one server crashes before information can be accepted: bill without shipping or ship without billing • Modified system will have Application server for Enterprise Java Beans • Webserver and Shopping Cart servlet unchanged • Conversion of Checkout servlet to Checklet EJB

  16. Functions of Checkout Servlet • Rewritten to use JNDI to search for Checkout EJB • Use RMI to invoke methods on the EJB • No longer manage connections to databases

  17. Functions of Checkout EJB • Takes over major functionality from old Checkout Servlet • Store customer data in RBMS using JDBC • Send billing information using Corba • Looks up warehouse using JNDI, sends shipping information using JMS • EJB container wraps a distributed transaction around its actions, so billing and warehouse operations are atomic. • Rely of EJB container for connection management

  18. Other potential Directions • Expand to incorporate new partners whose services are accessible to CornCo • Use SOAP web services clients to make remote calls to these services • Partners need integration points into CornCo business processes as well as desktop tools. • Develop a suite of SOAP web services to expose the data to partners in a platform-neutral way • Track orders fro mobile devices • Inbound and outbound email. Formatted messages request and receive notifications of order status.

  19. Other Enterprise APIs • JAXR • UDDI or ebXML • WDSL • JMX • SAAJ • Internationalization I18n • Localization L10n

More Related