Case Study: INTELLIGEX SERVICES - PowerPoint PPT Presentation

1 / 59
About This Presentation
Title:

Case Study: INTELLIGEX SERVICES

Description:

Request the IP address for the domain name. 2. Send full URL ... Environments (IDEs) An application with tools for developing software in a particular language ... – PowerPoint PPT presentation

Number of Views:406
Avg rating:3.0/5.0
Slides: 60
Provided by: busi315
Category:

less

Transcript and Presenter's Notes

Title: Case Study: INTELLIGEX SERVICES


1
Week4 Building a Website Behind The Browser
Summary
What the User Sees
2
Web Software
  • Server software
  • Load balancer
  • Distribute requests among different servers
  • State information management
  • Compensate for stateless nature of HTTP
  • Java IDE (Integrated Development Environment)
  • Site management
  • Permission/security management
  • Hyperlink checkers
  • Traffic analysis

3
Server Clusters
Purpose Scale website service capability
1. What is the IP address of
www.foo.dom? 2. DNS server gives address of
reverse proxy server. RPS picks an
available server, sends request to it. 3.
Server send result to RPS. RPS sends result
to client.
Server Cluster
SOURCE WEB TECHNIQUES MAGAZINE
4
Todays Storage Architecture
BACKUP
5
Storage-Area Network (SAN) Solution
BACKUP OR REPLICATION
6
Mobile CommerceTools and Infrastructure support
  • .NET Servers
  • Internet Information Services (IIS)
  • MS Commerce Server (CS2K)
  • MS Mobile Information Server (MIS)
  • Development tools
  • VS.NET
  • MIT

7
Mobile Web Application Architecture
8
Mobile ArchitectureFeatures of Tier-1 (Wireless
Client Devices)
  • Variety of mobile devices with different form
    factor
  • Network connectivity options
  • Affects data content and format

9
Mobile ArchitectureFeatures of Tier-2 (Wireless
Gateways)
  • Manages network connection
  • Manages user session
  • Reliability and optimization for wireless
    networks
  • Security via encryption and authentication

10
Mobile ArchitectureFeatures of Tier-3
(Wireless/Web Application Server)
  • Client device aware
  • Provides content adaptation capabilities
  • Provides transcoding capabilities
  • Pushes notifications, alerts, messages to mobile
    user

11
Mobile ArchitectureFeatures of Tier-4/5
  • Tier-4 (Enterprise Integration Applications)
  • Interface between tiers 1-3 and 5
  • Extensible
  • Tier-5 (Enterprise Applications)
  • Current infrastructure, investment
  • Data is shared

12
Approaching User Centricity in e/m-Finance
Financial information and transaction for banking
and brokerage
Virtual Personal Financial Assistant Account
Aggregation
Mobile banking and brokerage
Personal Financial Alerting and Reporting
13
Multi-channel Banking and Brokerage
14
Components Overview
3rd party components
Financial Business Connectors
Financial Application Modules
Accessors or Gateways
Gateways
Accessor or Gateway Extensions for Application
Modules
Gateway ExtensionsforApplication Modules
Financial Business Services
Financial Application Framework
Enterprise Application Server
Financial CI Services
Financial EAI Services
15
Financial Application Framework
You are here
The Financial Application Framework acts as a
power grid to connect all kinds of Financial
Application Components.
Provides generic financial functionality to ease
the development of Financial Application
Components. E.g. authentication, profiling,
configurable backend dispatching, multi-language
support
Does not only cover APIs but training courses,
extended documentation, methodology, release and
update strategy as well.
16
Financial Application Framework
What is it?
Base for Financial Application Components. E.g.
Accessor Extensions, Gateway Extensions,
Alerting, Advising,out-of-the-box generic
Financial Application Modules, etc. Enables
system integrators and partners to
buildFinancial Components rapidly and
reliably. Clear and easy to understand
programming model. High percentage of proven
architecture and functionalitywill result in
high quality of built solution. E.g. error
handling, authentication, profiling, backend
dispatching, etc. 100 pure Java
implementationsupports BST/RDO-, CORBA- and EJB-
component model.
Less time!Less effort!More quality!
17
Financial Application Framework
What are the Highlights?
  • Business Accessing ObjectsAbstract data model,
    supports paging sorting, session- and global
    cache.
  • Configurable backend dispatching24/7 support,
    time- or error scheduled.
  • Process ManagementHandling of business
    processes.
  • Supports roles multi client systemsAccess
    control (user, bank employee, administrator)
  • Individual business processes for different
    clients.
  • Error handling concept
  • Authentication and AuthorizationPIN/TANSmartCard
    s
  • Transactional technical logging
  • Automated logging with standard API.Multiple
    data bases supported.
  • ProfilingCollecting data for customer
    relationship management (CRM).
  • Testing environmentTest cases and -suites.
  • Multi language support

18
Web Programming Challenges
  • Distributed client/server environment
  • Offload computing to client
  • Unknown client configuration
  • Hardware ?
  • Operating system ?
  • Browser ?
  • Insecure network (Internet)
  • Rapid development (e-speed)
  • Millions of users
  • 24/365 operation

19
Java Language Features
  • Procedural syntax like C
  • Object-oriented (classes, inheritance,
    encapsulation)
  • Platform independence, security
  • Strong typing, no pointers
  • Polymorphism, overloading
  • Dynamic memory management
  • Threads
  • start(), stop(), destroy(), sleep(),
    setPriority()
  • synchronized objects (locks object during thread)
  • Exceptions
  • throw (generate an exception object), catch
  • Huge class library, Internet interface methods

20
Running Java
  • Interpreting
  • Compiling
  • Requires knowledge of the target machine
  • Just-In-Time Compiling
  • Interpreting bytecode is slow
  • Do what you can without knowing target machine
  • Do the rest later (on target machine)
  • Dynamic Compilation
  • Interpret for a while, take statistics, compile
    portions that use CPU time

21
Java Compilation
  • Java achieves portability by compiling for the
    Java Virtual Machine (JVM)
  • Java produces bytecode for the JVM
  • To implement Java on a computer, must build an
    interpreter for the JVM on that computer
  • Must be interpreted
  • source program doesnt know what computer it will
    be running on, so dont know what machine code to
    use

22
Java Compilation
SOURCE W. E. COHEN
23
HotSpot Dynamic Java Optimization
Idea Just-In-Time Compilation Run-Time
Optimization
COMPILATION ON SOURCE MACHINE
SOURCE CODE
BYTE CODE
COMPILER
COMPILE OPTIMIZE ON TARGET MACHINE
ADAPTIVE OPTIM IZER
BYTE CODE
INTERPRETER
MACHINE CODE
COEXIST
24
Executing Java
SOURCE BYTE
25
Applets
HTML ltappletgt codeclock.class codebase
http//www.sun.com/classes lt/appletgt
SOURCE FOURNIER
26
Servlets
Like applets, but run on the server side
SOURCE SUN MICROSYSTEMS
27
Java 1.2 Security Model
Every application is subject to a security policy
Applications are identified by digital signatures
Domain Set of classes given the same permissions
Range of security policies
Trusted native applications run here
Untrusted foreign applets run here
Security manager controls access to system
resources
SOURCE SUN MICROSYSTEMS
28
J2EE
  • Stands for Java 2, Enterprise Edition
  • It is a collection of standards
  • JDBC, JNDI, JMX, JMS
  • It is a component technology
  • Enterprise JavaBeans
  • It is an application server
  • Following in the footsteps of Component
    Transaction Monitors

29
History
  • Distributed Objects
  • CORBA, DCOM, etc.
  • Three-tier scenario presentation, business
    logic, and backend databases
  • Hard to get right without the proper
    infrastructure
  • Server-Side Components
  • Focuses on encapsulating business rules into
    objects in the middle tier
  • Component Transaction Monitors
  • Descendant of CORBAs Object Request Broker
  • provides discovery, persistence, event
    notification, transactions, etc. for three-tier
    or n-tier applications

30
Java Beans
  • Java Beans reusable software components that can
    be manipulated in a visual builder tool (e.g.
    Borland JBuilder, IBM Visual Age for Java),
    combined to form applications
  • Write once, run anywhere (WORA)
  • Properties of Beans
  • Introspection builder tool can analyze how a
    Bean works. getBeanInfo(BeanClass)
  • Customization developer can use an app builder
    tool to customize the appearance and behavior of
    a Bean
  • Events enables Beans to communicate and connect
    together
  • Properties property editors to customize Beans
  • Persistence developers can customize Beans,
    store and retrieve them, with customized features
    intact, for future use
  • Can buy and sell Beans

31
Enterprise Java Beans (EJB)
  • An API specification for building scalable,
    distributed, component-based, multi-tier
    applications
  • Java Beans for server-side business applications
  • Platform and vendor-neutral
  • Java Beans extended with
  • transactions
  • state management
  • deployment time (run-time) attributes
  • (services not offered by the Java Virtual
    Machine)

32
Architectural Overview
  • Two Types of Enterprise JavaBeans
  • Entity Beans
  • Used to model business concepts such as customer,
    cruise ship, inventory item, etc.
  • Session Beans
  • A server-side representative of the client
    session beans are responsible for managing
    processes or tasks for instance in an airline
    reservation scenario, the session bean would be
    responsible for reserving a seat on a particular
    flight and verifying payment

33
Enterprise Java Beans
SERVER MANAGES EJB CONTAINERS
  • CONTAINER HANDLES
  • TRANSACTION MGMT
  • SECURITY
  • CLIENT CONNECTIVITY
  • LIFE CYCLE MGMT

ENTERPRISE BEANS HANDLE BUSINESS LOGIC
SOURCE SUN MICROSYSTEMS
34
Enterprise Java Beans
DATABASE STORES ENTITY BEAN STATES
  • ENTITY BEAN
  • REPRESENTS BUSINESS ENTITY OBJECT
  • SHARED BY MANY CLIENTS
  • IS PERSISTENT
  • SESSION BEAN
  • PERFORMS TASK FOR 1 CLIENT
  • IS NOT PERSISTENT

CUSTOMER ON WEB
SERVLET RESPONDS TO CART APPLET
SESSION BEAN CLIENT
SOURCE SUN MICROSYSTEMS
35
Benefits of an Application Server
  • Resource Management
  • Instance Pooling and Swapping
  • Server can invoke multiple instances of a bean to
    handle multiple incoming requests (pooling)
  • An instance of a bean class can handle requests
    from multiple skeletons (swapping)
  • Activation
  • if a bean is stateful, application servers
    automate the process of saving and restoring bean
    state when a bean is deactived and later activated

36
Benefits of an Application Server
  • Primary Services
  • Concurrency
  • Beans are automatically thread safe application
    servers handle concurrent access to a bean They
    also handle reentrance
  • Transactions
  • Bean operations can belong to a transaction and
    the application server handles rolling back an
    applications state if a partially completed
    transaction fails
  • Persistence
  • Application servers can map beans into database
    entries (and back again)
  • Naming (bean discovery) and Security (encrypted
    communication and access control)

37
Integrated DevelopmentEnvironments (IDEs)
  • An application with tools for developing software
    in a particular language
  • Syntax-directed editor
  • Create program text, match delimiters, keyword
    completion
  • Visual debugger (single-step, trace variables)
  • Compiler
  • Run-Time Environment
  • Borland JBuilder, Visual J, Symantec
    VisualCafé, NetBeans, JavaMan

38
XML (eXtensible Markup Language)
  • Markup language identifies text components of a
    document, e.g. title, date, price,
    quantity
  • Components are delimited by tags
  • Just 1 syntactic construct lt /tag_name
    param value / gt

39
Invoice Example
ltUnitPricegt6.05lt/UnitPricegt
40
Document Has Become Structured
  • lt?xml version"1.0"?gtltRecipegt ltNamegtApple
    Pielt/Namegt ltIngredientsgt ltIngredientgt ltQty
    unitpintgt1lt/Qtygt ltItemgtmilklt/Itemgt lt/Ingredi
    entgt ltIngredientgt ltQty uniteachgt10lt/Qtygt
    ltItemgtappleslt/Itemgt lt/Ingredientgt lt/Ingredients
    gt ltInstructionsgt ltStepgtPeel the
    appleslt/Stepgt ltStepgtPour the milk into a
    10-inch saucepanlt/Stepgt lt!-- And so on...
    --gt lt/Instructionsgtlt/Recipegt

41
DTD (Document Type Definition)
  • XML is extensible because it allows user-defined
    tags
  • lt!-- Sample DTD --gtlt!ELEMENT Recipe (Name,
    Description?, Ingredients?, Instructions?)gtlt!ELEM
    ENT Name (PCDATA)gtlt!ELEMENT Description
    (PCDATA)gtlt!ELEMENT Ingredients
    (Ingredient)gtlt!ELEMENT Ingredient (Qty,
    Item)gtlt!ELEMENT Qty (PCDATA)gtlt!ATTLIST Qty
    unit CDATA REQUIREDgtlt!ELEMENT Item
    (PCDATA)gtlt!ATTLIST Item optional CDATA
    "0"isVegetarian CDATA "true"gtlt!ELEMENT
    Instructions (Step)gt

TAG Instructions HAS ONE OR MORE Step TAGS
SOURCE JAVAWORLD
42
Document Object Model (DOM) in XML
  • Tags defined hierarchically have an object
    inheritance structure
  • The entire document then becomes an object whose
    parts have attributes

SOURCE JAVAWORLD
43
XML Implementations
  • XBRL Financial Documents (Extremely Important)
    http//www.xbrl.org/
  • HL7 - health information (Health Level 7)
  • FIXML - syntax - Trading and Securities
  • SWIFT - repository - Intra-Bank exchanges
  • X12 - data exchange standard for business
    transactions
  • EDIFACT/SimplEDI - syntax - repository
  • IFX - Interactive Financial Exchange formerly
    OFX/Gold (Open Financial Exchange ) - personal
    banking.
  • RosettaNet - catalogues, supply chain automation
  • OTP - Open Trading Protocol - buying

44
File of Electronic Records
Types of Records
REPORT OF INDEPENDENT ACCOUNTANTS To the
Board of Directors and Stockholders of Great
Plains Software, Inc. In our opinion, the
consolidated financial statements listed in the
accompanying index present fairly, in all
material respects, the financial position of
Great Plains Software, Inc. and its subsidiaries
at May 31, 1999 and 1998, and the results of
their operations and their cash flows for each of
the three years in the period ended May 31,
1999, in conformity with generally accepted
accounting principles. In addition, in our
opinion, the financial statement schedules
listed in the accompanying index present fairly,
in all material respects, the information set
forth therein when read in conjunction with the
related consolidated financial statements. These
financial statements and financial statement
schedules are the responsibility of the
Company's management our responsibility is to
express an opinion on these financial statements
and financial statement schedules based on our
audits. We conducted our audits of these
statements in accordance with generally accepted
auditing standards, which require that we plan
and perform the audit to obtain reasonable
assurance about whether the financial statements
are free of material misstatement. An audit
includes examining, on a test basis, evidence
supporting the amounts and disclosures in the
financial statements, assessing the accounting
principles used and significant estimates made by
management, and evaluating the overall financial
statement presentation. We believe that our
audits provide a reasonable basis for the opinion
expressed above. /s/ PricewaterhouseCoopers LLP
PricewaterhouseCoopers LLP Minneapolis ,
Minnesota June 25, 1999
45
eXtensible Business Reporting Language (XBRL)
Example
46
XBRL DTD
47
Web Development Tools
  • Symantec VisualCafĂ©
  • Full Bean support
  • Forms Designer (100 pre-built Java Beans)
  • Visual Class browser, modify hierarchies
  • Compile, incremental debug (source-level)
  • integrate with dbAnywhere
  • drag-and-drop database connection Beans
  • JBuilder
  • Visual development environment for building
    applications, applets, JSP/Servlets, JavaBeans,
    Enterprise JavaBeans and distributed J2EE
    applications for the Java 2 Platform.

48
Middleware
  • Purpose allow implementation of distributed
    peer-to-peer and client/server processing over
    the Internet
  • simplify design and implementation
  • Objects, programs data can
  • reside anywhere
  • be accessed from anywhere
  • Issues
  • reliability (messages may arrive out of order or
    not at all)
  • security
  • performance
  • scalability
  • error recovery

49
Message-Oriented Middleware (MOM)
  • For distributed (object-oriented) systems in
    which applications communicate by real-time
    messages
  • e.g. loan processing (requires multiple data
    sources)
  • Asynchronous technology
  • Messages queued until acted upon
  • MOM middleware provide
  • Communications
  • Queueing
  • Journaling (for error recovery)
  • Data transformation
  • Exception handling
  • Workflow

50
Publish and Subscribe
SOURCE WEYERHAUSER
51
Publish and Subscribe Middleware
  • Players
  • publishers
  • subscribers
  • Asynchronous, event-triggered
  • Monitors activity, pushes content to subscribers
  • Products
  • ActiveWeb (Active Software)
  • TIB/Rendezvous (TIBCO)

52
Transaction Processing Monitors
  • Transaction Processing Monitors (TPS)
  • Provide
  • queuing
  • load balancing
  • security
  • automatic server failover

53
Transaction Processing Middleware
SOURCE SUNWORLD
54
Database Middleware
SOURCE SUNWORLD
55
XML Middleware
Business rules
XML Server
Rendering
Database
HTML
XML
(Middleware)
Browser
Server
HTML
(Client)
HTTP
SOURCE HOWARD STRAUS
56
Remote Procedure Call (RPC) Middleware
  • In client/server architecture, impractical to
    have all software the client (or server) may need
    on 1 system
  • Want to invoke software remotely at function-call
    (not application) level
  • Location transparency code should work the same
    regardless of location of remote procedure
  • Client calls a stub
  • Stub interfaces with remote procedure
  • packages parameters
  • handles return values
  • Interface defined in Interface Definition
    Language (IDL)

57
Remote Procedure Call
API INSULATES SERVER FROM NETWORK DETAILS
API INSULATES CLIENT FROM NETWORK DETAILS
SOURCE FOURNIER
58
RPC Middleware
  • Synchronous
  • Best for failure recovery
  • Asynchronous
  • Scalable since little information about the
    session is kept
  • Poor for transaction integrity
  • Provides
  • Directory
  • Security
  • Time Services
  • IBM XML-RPC for Web services and XML-RPC
    Middleware

59
Middleware Comparison
SOURCE JUDITH HURWITZ, DBMS Magazine
Write a Comment
User Comments (0)
About PowerShow.com