Unit 2
Architecting and Designing Enterprise
Applications
Architecture
• Architecting and Designing are the foundation for successful enterprise
application
• The master blueprint of the application is termed as architecture
• ANSI/IEEE Std 1471 defines architecture as “the fundamental
organization of a system embodied in its components, their
relationships to each other and to the environment and the principles
guiding its design and evolution”
• Architecture is a collection of related components or structure that
coexists in a given context for a purpose
• Architecture serves as Blueprint for guiding the design of an
application
Views and Viewpoints
• Architecture description is organized in the form of “views” and
“viewpoints”
• Viewpoints is the stakeholders view of the enterprise application
• View is how the enterprise application looks like from a selected
viewpoint
• For example use cases in the use case diagram are considered as
viewpoints
• Each view is represented as one or more appropriate models using
languages like UML
Enterprise Architecture
• An Enterprise Application consists of data, users and business
applications which interact with each other.
• An enterprise can be represented as enterprise triangle that represent
the coexistence of users, business applications and data their
interactions
• Enterprise Triangle
Enterprise Architecture (contd..)
• Enterprise architecture helps to conceptualize, represent, understand
and analyze these business scenarios, keeping business applications,
user and data under consideration.
• Enterprise architecture is shown in the next slide
• Enterprise architecture in turn contains several architectures
• Enterprise architecture is the one that explains the building blocks of
an organization and the interaction between these building blocks
• It helps in alignment between business and IT
Enterprise Architecture (contd..)
Enterprise Architecture (contd..)
Enterprise Architecture Framework
• An enterprise architecture framework specifies a set of views and
viewpoints and comprises of principles, standards, guidelines, approaches,
services, design concepts and models to facilitate the development of
enterprise architecture.
• TOGAF( The Open Group Architecture Framework) is one of the most
popular enterprise architecture framework.
• TOGAF defines 4 sub-architectures or domains of enterprise architectures
(refer the diagram in previous slide)
1. Business architecture
2. Data architecture
3. Applications architecture
4. Technology architecture
Enterprise Architecture (contd..)
4 sub-architectures or domains of TOGAF
Enterprise Architecture (contd..)
TOGAF Architecture Domains
1. Business architecture: focuses on the overall strategy and governance
of the business processes and other key elements of the business such as
business goals, lines of business, business locations, business
organization, business events and business process.
2. Applications architecture: is the structure of interconnection and
interactions of all the applications in an enterprise and maps to the
underlying enterprise business processes.
3. Data architecture: focuses on the overall data assets – both logical and
physical that an organization possesses. It defines how the data is being
organized in the application, Data models, data life cycle management
and security of data. Data architecture is sometimes referred to as
information architecture
Enterprise Architecture (contd..)
TOGAF Architecture Domains
4. Technology architecture: consists of building blocks which include the
middleware components used to glue the applications, IT infrastructure
hardware and software and networking and communication protocols.
Enterprise Architecture (contd..)
Other popular enterprise architecture frameworks
1.Zachman Enterprise Architecture framework
2. EAF from Gartner
3. C4ISR for Department of Defense, USA
Enterprise Architecture (contd..)
Blueprint of an Enterprise Application
• Enterprise Architecture is the blueprint of the enterprise application
• Enterprise architecture helps understanding how an application fits within
the existing enterprise landscape, and guides arriving at the blueprint of an
application.
• The blueprint of an enterprise application consists of the following
architectures:
• Logical architecture
• Technical architecture
• Data architecture
• Infrastructure architecture
Enterprise Architecture (contd..)
Blueprint of an Enterprise Application
1. Logical architecture
• Functionality of an application can be mapped to a set of logical
building blocks
• Logical architecture serves as the blueprint to the architects to arrive at
an optimal enterprise application solution
2. Technical architecture
• Technical architecture serves as the starting point for the implementation
and consists of application frameworks, design patterns, APIs and
programming languages
• Primary goal of technical architecture is to provide simple, maintainable
and robust design building blocks that can be easily extendable
Enterprise Architecture (contd..)
Blueprint of an Enterprise Application
3. Data architecture
• Data architecture primarily focused on identifying, modeling and
defining data that needs to be processed by the enterprise application
4. Infrastructure architecture
• Infrastructure architecture describes the physical hardware, supporting
systems software required for deployment of enterprise application
• It identifies types of servers like database servers, physical location of
deployment, backup plan, storage, middleware requirements etc
Logical Architecture
• Elements of business architecture define the functionality of a given
enterprise application.
• This functionality can be mapped to a set of logical building blocks
which implement the enterprise application.
• These logical building blocks together define the logical architecture of
an enterprise application.
• The logical architecture serves as the blueprint to the architects to
arrive at an optimal enterprise application solution.
• Logical architecture is the bridge between requirements captured and
Implementation
Logical Architecture (contd..)
Logical Architecture (contd..)
• The logical architecture have the seven following layers: (see previous
slide)
1. Presentation layer
2. Service access layer
3. Business layer
4. Data Access layer
5. Integration layer
6. Enterprise information systems layer
7. Infrastructure services layer
Logical Architecture (contd..)
Layers of Logical Architecture
1. Business Layer
• It is the core layer of the enterprise application
• Business layer can be considered to comprise of three sub layers to
represent business processes, business services and business
components.
1. Business Process Layer: represents the business processes
implemented in the application.
2. Business Services Layer: Business processes, in turn, are
composed from one or more business services and are represented
in the Business Service Layer.
3. Business Component Layer: represents the lowest level of
abstraction of business layer in terms of underlying business
entities.
Logical Architecture (contd..)
Layers of Logical Architecture
2. Enterprise Information Systems (EIS) Layer
• Enterprise Information Systems layer consists of the following 2 layers
Data Layer
• Enterprise application has to connect with database or other storage
mechanism which is represented as Data layer
External Systems Layer
• Enterprise application may require data from external applications
which is represented as External systems layer
Logical Architecture (contd..)
Layers of Logical Architecture
3, 4. Data Access Layer and Integration Layer
• These two layers hide the physical details of storage and access
mechanisms from the business layer
5. Presentation Layer
• Used by the human users to access the services of enterprise
application
6. Service Access Layer
• Used by the external systems to access the services of enterprise
application
7. Infrastructure Services Layer
• This layer provides the reusable and general purpose components like
logging, caching, auditing etc
Logical Architecture of LoMS (Loan Management System)
Technical Architecture
• Technical architecture translates the logical architecture into a
technical solution which comprises of chosen technologies, APIs and
frameworks
• Technical architecture is derived from the logical architecture by
adding technology components into the individual layers
• Software architecture patterns are used in the technical architecture.
These patterns are acts as reference points
• One example of the software architecture pattern is the Layered
Architecture pattern
Technical Architecture of LoMS
Technical Architecture (contd..)
Object Oriented Analysis and Design
• Object Oriented Analysis and Design (OOAD) technique used during
the architecture and design phase helps model the software entities
• To implement the technical solution, Object-oriented
programming(OOP)is used during the construction phase
Objects and Classes
• Identification of objects and classes is the first step in OOAD
• Object is the real world entity
• Classes is the collection of objects
Technical Architecture (contd..)
• By considering the use cases documented in the inception phase, the
following classes are identified:
1. Entity classes
• The classes that contains the core business entities are called as Entity
classes
• Each class is represented as rectangle that has 3 sections
1st section: class name
2nd section: attributes (characteristics)
3rd section: methods (behavior)
• Above 2 diagrams shows for Person and LoanProduct classes
Technical Architecture (contd..)
2. Boundary classes
• The classes that encapsulates all aspects of interactions with the actors
are called Boundary classes
• These classes are used to model interface interactions
• Example: Elements in data entry forms are the boundary classes
3. Data store classes
• Theses classes show how the enterprise applications store and retrieve
data from the applications' data store
• InitiateLoanDAO encapsulates the logic of accessing and persisting the
customer details in the database
Technical Architecture (contd..)
Relationships among classes
1. Association
2. Generalization
1. Association
• Relationship that exists between the classes
• It is represented by a line between the classes
• If two classes are involved in the relationship then it is called as Binary
Association
Technical Architecture (contd..)
Association cardinality
• Cardinality of a binary association denotes the number of objects of a class
participating in an association. Cardinality is also called as Multiplicity
• There are three types of cardinality , namely
1. One–to–One − A single object of class A is associated with a single object
of class B.
2. One–to–Many − A single object of class A is associated with many
objects of class B.
3. Many–to–Many − An object of class A may be associated with many
objects of class B and conversely an object of class B may be associated
with many objects of class A.
given association
• In above diagram single customer can have one or more loans similarly
single loan may be applied by one or more customers. Above diagram is
an example of Many-to-Many mapping
Technical Architecture (contd..)
Association Navigability:
• says about the direction of navigation in a relationship. Relationship
should be navigable
1. Navigable in one direction - the association can be navigated from
Class3 to Class4, but not from Class4 to Class3
2. Navigable in both directions - the association can be navigated from
Class5 to Class6 and also from Class6 to Class5
Technical Architecture (contd..)
Variations of Association relationship
1. Aggregation
2. Composition
Technical Architecture (contd..)
1. Aggregation
• It is a kind of relationship in which the child class exist independently of
the parent class
• “has-a” relationship between the objects of the classes
• Aggregation relationship is represented by a straight line with an empty
diamond at one end (parent class end)
• Example
• Car needs wheel to function correctly. But wheel does not always needs
a car. It can be used with other vehicles like bike, bicycle
Technical Architecture (contd..)
1. Aggregation
• Example
• Customer may contain loan details. But LoanDetails class exist
independently of the customer class
Technical Architecture (contd..)
2. Composition
• In a composition relationship, the child class cannot exist independently
without parent class. If parent class is deleted child class is also deleted
• “part-of” relationship between classes
• The composition relationship is represented by a straight line with a
black diamond at one end(parent class end)
• Example
• Without book there is no page and without person there is no head ,hand
and leg
Technical Architecture (contd..)
Difference between Aggregation and Composition
Aggregation Composition
It is a kind of relationship in which In a composition relationship, the
the child class exist independently child class cannot exist
of the parent class independently without parent class.
It represents “has-a” relationship It represents “part-of” relationship
It is represented by a straight line It is represented by a straight line
with an empty diamond at one end with a black diamond at one end
Deleting parent class does not affect If parent class is deleted child class
child class is also deleted
Example Example
Technical Architecture (contd..)
2. Generalization
• If a class is a generalized form of one or more classes it is represented
by generalized relationship
• Represents “is a” or “kind of” relationship among classes
• Also called as Inheritance
• Example
Technical Architecture (contd..)
UML Diagrams
1. Class diagrams
• To represent a partial view of the system
• Model the static aspects of the application
2. Sequence diagrams
• To visualize the sequence of actions
• To convey the sequence of message passing or method calls among
classes in a given use case
• To capture the dynamic view
3.Collaboration diagrams
• Depicts how classes collaborate rather than the sequence of actions
4. State chart diagram
• To model various states that a particular object may go through
during the execution of the application
Technical Architecture (contd..)
Infrastructure Services Layer
• Infrastructure services layer is the layer that provides the common
services for all the other layers in an enterprise application so that all
the designers and developers can use it in a uniform manner.
• This layer is also known as common services layer.
Technical Architecture (contd..)
Infrastructure Services Layer
Technical Architecture (contd..)
Infrastructure Services Layer
1. Logging
• Need for auditing and debugging purposes
• To keep track of usage of various resources by the users of an
enterprise application
• Eg: InitiateLoan use case logs events like getting the preapproved
loan amount based on SSN, or saving the loan details after
validation.
• LoMs uses Log4J as underlying logging mechanism
Technical Architecture (contd..)
Infrastructure Services Layer
2. Caching
• Technique for improving the performance of an application
• It involves bringing frequently used data to the high speed primary
memory from the secondary store where it is persisted so that the
application can readily access it.
• Approaches
1. Pre-fetch
• Pre-fetch the data at application startup and store it in the cache
2. Lazy loading
• The data is retrieved from the data source at the time of the
first request, and thereafter the data may remain stored in the
cache
• In LoMS, Jboss caching is used
Technical Architecture (contd..)
Infrastructure Services Layer
3. Security
• AAA security requirements
1. Authentication
2. Authorization
3. Auditing
• Single sign-on (SSO) to eliminate the need for multiple
authentications of the same user
• In LoMS, Java Open Single Sign-On (JOSSO) is used
Technical Architecture (contd..)
Infrastructure Services Layer
4. Exception handling
• Exceptions occur when normal flow of program instructions is
disrupted due to an event
• Exception handling mechanisms
1. User defined exceptions
2. Message display
3. Try-catch blocks
• In LoMS, InitiateLoan use case should provide a strategy to handle
input of an invalid SSN number of a customer
Technical Architecture (contd..)
Infrastructure Services Layer
5. Session management
• Support for multiple concurrent users in an enterprise application
• Implemented to track session using a session ID which is a unique
number associated with the session
• Effective session management
1. State management and performance
2. Clustering
• Clustering of servers to provide redundancy for fault tolerance
and load balancing
• In LoMS, session data is stored in primary memory and is created for
each user when the user is successfully authenticated.
• It uses Jboss POJO cache solution
Technical Architecture (contd..)
Presentation Layer
• Presentation layer is the face of the enterprise application for the user
• This layer presents data and content in a user-friendly manner
• This layer presents status and dynamic content to the user. Static
content using HTML and dynamic content using Javascript or JSP or
servlets
• This layer is the bridge between user and enterprise application
Technical Architecture (contd..)
Presentation Layer
Technical Architecture (contd..)
Presentation Layer
MVC Pattern
• MVC stands for Model, View and Controller
• MVC pattern serves as blueprint for presentation layer
• MVC pattern are used to separate the business logic(model) from the
user interface(view). It allows creating new view without changing the
underlying model
• Interactions among model and view are controlled by “controller”
Technical Architecture (contd..)
Presentation Layer
Frameworks and Design Patterns
• Frameworks provides a guidelines and patterns for the enterprise
application
• Advantage of using frameworks is that it is not necessary to build the
application from scratch
• JEE(Java Enterprise Edition) has several frameworks
• Struts framework is suitable for the presentation layer
• Whenever we are selecting a framework following parameters should
be considered
1. Configurability (Easily configurable)
2. Extensibility
3. Independence
Technical Architecture (contd..)
Presentation Layer
Presentation layer Example for InitiateLoan
• In below example user submits their data for loan which is verified
• Once the data is verified LoanSuccess is finally sent as response to user
Technical Architecture (contd..)
Presentation Layer
More presentation layer technologies
• Apart from JEE, other technologies like JavaScript,
AJAX(Asynchronous JavaScript and XML) can be used
Technical Architecture (contd..)
Presentation Layer
Design aspects of Presentation layer
• Usability - proper usage of screen, visual appeal
• Input validation
• Internationalization - Local Language support
• Data Transformation
• Navigation
• Session management and cache management
• Deployment considerations
• Reusability
• Security
• Portal integration - Integration of several applications so that user can
access the relevant application in a single window
Technical Architecture (contd..)
Business Layer
• This layer is the heart of the enterprise application as well as the
complex layer
• Business layer contains business entities, business rules and business
constraints
• This layer is called as the middle layer of the enterprise application
Technical Architecture (contd..)
Business Layer
Technical Architecture (contd..)
Business Layer
Frameworks and Design patterns
• Business layer is divided into 4 components
1. Business delegate components
2. Session facade components
3. Business service components
4. Business model components
1. Business delegate components
• It is the bridge between presentation and business layer
• These components exposes business processes and services to the
presentation layer
2. Session Facade components
• These components are used for controlling the business entities by
coordinating them
• These components are created using enterprise session Beans(session
EJBs)
Technical Architecture (contd..)
Business Layer
3. Business service components
• It implement the business functionality of the application
• It communicate with the integration layer
• These components are implemented using EJBs (Enterprise Java Bean)
or POJOs(Plain Old Java Object)
4. Business model components
• These components comprises business data and the methods to manage
the data
• These components are implemented using EJBs or POJOs
Technical Architecture (contd..)
Business Layer
Interaction between Business delegate and Business service
• Business delegate components access the business service components
through a lookup service
• This lookup service is a Service locator
• Business service components process the data and the results is given
to the presentation layer by the Business delegate components
Technical Architecture (contd..)
Business Layer
Example: Initiate Loan
• Below diagram shows the steps happening in the business layer for
InitiateLoan
• SaveInitiateLoanDetails() method first invokes the service
InitiateLoanDelegate, then it invokes InitiateLoanService EJB which is
a session façade which in turn invokes the service
InitiateLoanServiceImpl which is the actual service implementation
Technical Architecture (contd..)
Business Layer
Design Aspects of the Business layer
1. Transaction Management
- every transaction should satisfy the ACID properties
- support multiple users
2. Remote or local access of Business logic
3. Use of third-party components
- use of third party components to reduce development and testing
effort
4. External business function integration
- Several application services have to orchestrated to execute the
business process
Technical Architecture (contd..)
Data Layer
• Data Layer physically stores the enterprise data
• This layer contains a relational database
Technical Architecture (contd..)
Data Access Layer
• This layer is responsible for accessing the data from the database on
behalf of business layer
• Technologies for Data Access layer include JDBC API, Hibernate,
TopLink
Technical Architecture (contd..)
Data Access Layer
Frameworks and Design patterns
• Data Access layer use Data Access Object(DAO) design pattern that
contains details of how to access the underlying data
• Mapping between Relational data and objects (Java represents data as
objects) is done here
Technical Architecture (contd..)
Data Access Layer
Design aspects of Data Access Layer
1. Performance considerations
- Data access layer since it is the bridge between data layer and
business layer should be designed properly. Connection Pooling,
Query optimization and isolation level tuning techniques are used
for ensuring the performance
2. Object relational mapping
- Java represents data as objects and data in database is in
relational table format. Mapping should be done between this two
3. Handling XML data
- XML access Object(XAO) is a special case of DAO if data is in
XML format
4. Security considerations
- safeguard data in database from various threats
Technical Architecture (contd..)
Data Access Layer
Design aspects of Data Access Layer
5. Integration of distributed data
- Data from remote sources has to be integrated which is called as
entity integration
Technical Architecture (contd..)
External Systems Layer
• This layer represents the collection of other application with which the
enterprise application will interact
• While other applications are interacting with the enterprise application
the integration of other applications with the enterprise application has
to be taken care here
Technical Architecture (contd..)
Integration Layer
• This integration layer provides the option to connect to the external
systems
• This layer contains components to expose capability of the application
to the outside world or compose capabilities of external system to the
application
• The components in this layer can be implemented using various
techniques, technologies like Java based application integration, Web
services etc
Technical Architecture (contd..)
Integration Layer
Technical Architecture (contd..)
Integration Layer
Integration Types
1. UI Integration
• UI Integration is used when some parts of the UI of an external
application has been used in the enterprise application
2. Functional Integration
• This type of integration is used where enterprise application is accessing
the business logic hosted in the business layer of another application
3. Data Integration
• This type of integration is used when data layer of external application
is part of the data layer of the enterprise application
Technical Architecture (contd..)
Integration Layer
Evolution of Integration Layer Technologies
1. Third-party EAI solutions
• Vendor-specific solutions were used initially to achieve integration
• Advantages of these solutions were less development effort and lower
time to market
• Disadvantages of these solutions were higher cost
2. Java based application integration
• This integration method is used when applications that are to be
integrated is built using Java platform
• Java Message Services (JMS) and Java Connector Architecture (JCA)
are the two APIs in JEE that support application integration
Technical Architecture (contd..)
Integration Layer
Evolution of Integration Layer Technologies
2. Java based application integration
• Below diagram shows how JMS is used for communication between
Loan Management System (LoMS) and Funding system
JMS based integration
Technical Architecture (contd..)
Integration Layer
Evolution of Integration Layer Technologies
3. Web services
• Web service is defined as software system designed to support
interoperable machine-to-machine interaction over a network
• These web services provide access to business functionality exposed
over the internet
• Two types of Web services
1. SOAP based Web services
2. REST Web services
Technical Architecture (contd..)
Integration Layer
Evolution of Integration Layer Technologies
3. Web services
SOAP vs REST based Web services
SOAP based Web services REST based Web Services
Simple Object Access Protocol Representational State Transfer
SOAP is a protocol REST is an architecture style
SOAP is a protocol for communication REST is an architecture style for designing
between applications communication interfaces
SOAP is independent and can work with any REST works only with HTTPS
transport protocol
SOAP permits XML data format only REST permits different data format such as
Plain text, HTML, XML, JSON etc.
SOAP messages are larger, which makes REST has faster performance due to smaller
communication slower messages and caching support
SOAP is less preferred than REST REST more preferred than SOAP
SOAP defines standards to be strictly followed REST does not define too much standards like
SOAP
Technical Architecture (contd..)
Integration Layer
Evolution of Integration Layer Technologies
SOAP based Web services
• This SOAP based web services is a collection of
technologies/standards/protocols used to define, discover, bind and
implement web services
• It contains 4 building blocks
1. Service Description
2. Service Messaging Framework
3. Service Transport
4. Service Discovery
Technical Architecture (contd..)
Integration Layer
Evolution of Integration Layer Technologies
4. Enterprise service bus – service oriented architecture
• SOA deals with services as components from which more complex
services or applications can be composed
• Enterprise Service Bus (ESB) – provides a way for service-oriented
integration through which services can be exposed and consumed
Technical Architecture (contd..)
Integration Layer
Design Aspects of Integration Layer
1. Communication Triggers
- Communication between enterprise application and external
system is done be external triggers. Triggers can be time or
event based triggers
2. Communication methods
2 types,
1. Synchronous - Immediate response for a request
2. Asynchronous - Does not require immediate response. User is
notified when response is received
Technical Architecture (contd..)
Integration Layer
Design Aspects of Integration Layer
Synchronous vs Asynchronous Communication
Synchronous Communication Asynchronous Communication
When a message or request is Replies can be delayed
sent, there’s an immediate
response.
Communicating parties are online Communicating parties need not in
at the same time online at the same time
Synchronous transmission is fast. Asynchronous transmission is slow
Example: video conferencing, Example: Emails
instant messaging, and telephone
conversations.
Java provides Remote Method In Java asynchronous
Invocation (RMI)for synchronous communication is done using JMS
communication together with IBM MQ series
Technical Architecture (contd..)
Integration Layer
Design Aspects of Integration Layer
3. Interface contract
- Interface contract helps to have a stable view of services that are
exposed by the application and how to access it
4. Error Handling
- Robust error handling mechanism is needed
5. Integration Topologies
- 3 types of topologies during application integration
1. Point-to-point Topology:
- Direct connection between two systems.
- Feasible if only few systems are involved
2. Message Broker Topology:
- All systems are connected to central broker.
- This topology is also called Hub-and-spoke topology. No
limitation on number of system that can communicate
3. Message Bus Topology
- It is a variation of Message Broker topology where
standards are followed for data formats and protocols are used
for communications
Data Architecture
• Managing and controlling data is the tedious task for the enterprise
• Data Architecture is used to create data models for business
• Identification of data, data modeling, life cycle management of data and
data security are the primary building blocks of data architecture
• Data modeling is the important step in data architecture
Data Architecture (contd..)
Data Modeling
1.Relational Data Modeling
• Usually relational databases are used for storing the data
• These databases are modeled using a relational data model
• Relational data modeling uses three-step approach
1. Conceptual modeling
- This is the first step which is used to model the real-world
business entities and the relationship between them
- This modeling is done in requirements phase
2. Logical modeling
- In this modeling conceptual data model is transformed into logical
implementation
- It consists of relations (tables), attributes and relationships among
entities
- This modeling is done in design phase. E-R diagrams are used for
logical modeling
Data Architecture (contd..)
1.Relational Data Modeling
3. Physical modeling
- In this last step logical model is transformed to physical model
- This step involves the physical creation of tables, views and
indexes
- Creation of physical model happens in the construction phase
Data Architecture (contd..)
1. Relational Data Modeling
E-R Diagram
• Logical modeling is done with the help of E-R diagrams
• E- R diagram consists of Entity set, attributes for every entity and
relationship between them
• Relationship can be one-to-one, one-to-many or many-to-many
• Primary Key and Foreign key can be specified in the E-R diagrams
Data Architecture (contd..)
1. Relational Data Modeling
E-R Diagrams
Different Variations of Relationships
a. Recursive Relationship
• Relationship among entities(rows) of the same table is called recursive
relationship
• Example:
1. In a student table, a student who is a class leader for another student
2. In a Bank employee table, a employee whose is a manger for
another employee
Data Architecture (contd..)
1. Relational Data Modeling
E-R Diagrams
Different Variations of Relationships
b. Supertype-subtype Relationship
• This relationship is similar to Generalization relationship
• Customer can be Prospect customer or Loan customer. Customer is the
Supertype and Prospect customer and Loan Customer are the subtype
Data Architecture (contd..)
2. XML Data Modeling
• XML is an extensible and structured markup language which describes
data in a plain text format
• XML represents information in a hierarchical fashion so in XML
modeling also done in hierarchical nature. XMLSpy is one of the XML
modeling tool
• There is an XML Schema Definition(XSD) document which contains
the grammar for the data stored in the XML document
• XML Parsers APIs like Simple API for XML(SAX), Document Object
Model(DOM), Streaming API for XML (StAX) are used to parse and
read/write data from/to XML documents
Data Architecture (contd..)
3. Other Structured Data Representations
• Apart from relational and XML we can have other representations like
directories and object-oriented databases
• The data that resides in hierarchical data stores in the directory servers are
called directory data
• Example of Directory data is the DNS servers which maps host names to
the IP address
• Sun Java Directory Server and Microsoft Active Directory Server are the
directory server products that are available
• Data can also be stored in object-oriented databases
• Databases from some vendors support object-oriented data storage
Data Architecture (contd..)
4. Unstructured Data Representations
• The structure of the data stored in documents do not follow any standard
representation which are called as unstructured data
• Unstructured data are represented as stream of binary or text data
• Data stored in flat files, text documents, PDFs, images ,sounds and videos
are examples of unstructured data
• Oracle provides BLOB(Binary Large Object) to store binary data in
relational tables