Enterprise Programming By J Pearce. Enterprise Software Sales HR Inventory Customer Support...

22
Enterprise Programming By J Pearce
  • date post

    22-Dec-2015
  • Category

    Documents

  • view

    222
  • download

    0

Transcript of Enterprise Programming By J Pearce. Enterprise Software Sales HR Inventory Customer Support...

Enterprise Programming

By J Pearce

Enterprise Software

Sales

HR

Inventory

CustomerSupport

Shipping

Challenges

• Scalability

• Distributivity

• Connectivity

• Integrating legacy& multi-vendor systems

• Common needs– Security– Transaction Processing

E-Commerce

• The ability to perform online transactions: – Selling– Trading– Negotiating

E-Commerce Models

• Storefronts• Auctions• Portals• Dynamic Pricing Models• Trading & Lending Models• B2B Exchanges & Services• Online News, Travel, Entertainment, Education

3 Important Server-Side Design Patterns

• Model-View-Controller

• Multi-Tier

• Container-Component

Model-View-Controller Architecture

• Model: Managing data and logic

• Controller: Executes user commands

• View: Displays data

• Principle: Application logic should independent of presentation logic.

MVC (cont.)

Model

ControllerView

Multi-Tier Architectures

• Single Tier (Mainframe)

• Two Tier (Client-Server)

• Three Tier (Application Servers)

• Four Tier (Web-based)

• N-Tier

Single Tier

terminal

mainframe<<RS232>>

Two Tier

Client Server<<Ethernet>>

Three Tier

Client Server<<Ethernet>> DBaseServer<<ODBC>>

Web-Based Four Tier

ClientServer

DBaseServer

WebServer

<<HTTP>><<TCP/IP>>

<<ODBC>>

<<ODBC>>

Container-Component Architectures

• Component: A semi-autonomous object known to clients only through the interfaces it implements and the conventions it conforms to.

• Container: A program that provides an execution environment and lifecycle support for components.

Containers & Components (cont.)

Component1 Component2 Component3

ContainerIComponent

<<Interface>>

*1 *1

Component Models

• ActiveX, COM, DCOM

• Applets

• Servlets

• Java Beans

• Microsoft.NET

• Enterprise Java Beans (EJB)

J2XE Platform Specifications

• J2SE: Client platform

• J2ME: PDA platform

• J2EE: Enterprise server platform

J2EE APIs

• DBase Connectivity (JDBC)

• Naming & Directory Interface (JNDI)

• Messaging Service (JMS)

• Transaction Processing API (JTA)

• Transaction Services (JTS)

• JavaMail

• Interface Definition Language (Java IDL)

J2EE Technologies

• Remote Method Invocation (RMI)

• Servlets

• Java Server Pages (JSP)

• Enterprise java Beans (EJB)

• Containers (Web, Applet, Enterprise)

J2EE Deployment

Palm<<PDA>>

<<Thin Client>>

<<PC>>

Tomcat<<WebServer>>

<<HTTP>>

<<HTTP>>

<<HTTP>>

JBoss<<AppServer>>

<<RMI>>

Cloudscape<<DBase Server>>

<<JDBC>><<JDBC>>

J2EE Roles

• Application Client

• Web Page Designer

• Container Developer

• Component Developer

• Application Assembler

• Application Deployer

• Application Administrator

References

• Developing Enterprise Java Applications with J2EE and UML; Ahmed & Umrysh; A-W.