computerappsenterprise_lectures45

advertisement
Computer applications in the modern
enterprise
Επιχειρησιακές Εφαρμογές Η/Υ
Lectures 4 and 5: Enterprise Key Technologies
Univ. of the Aegean
Financial and Management Engineering Dpt
Petros KAVASSALIS
<pkavassalis@atlantis-group.gr>
1
What you will learn in this course

A set of fundamental concepts and frameworks for understanding the
potential impact of information technology (IT) on business strategy and
structure




Computers and Information Systems (IS)
The business value chain
Business integration through Enterprise Application Integration
Information Systems in practice: How does the modern enterprise use
“Business Intelligence” (BI) systems to improve decision-making


Methods and BI examples
“Hands-on” experience: create business reports by using Eclpise BIRT Reporting Tool
(http://www.eclipse.org/birt/phoenix/)
<pkavassalis@atlantis-group.gr>
2
Communication tools


e-mail: pkavassalis@atlantis-group.gr
Course web site: see FME web site
<pkavassalis@atlantis-group.gr>
3
Students evaluation

Class Participation (20%)
+

Assignments (20%)
+

Final Exam (60%)
<pkavassalis@atlantis-group.gr>
4
What I am going to say

Within the modern enterprise




Inter-organizational relationships
Intra-organizational relationships
are supported by Information Technologies
It is about enterprise applications that inter-operate to move
information around


Not only within existing business frontiers but also within the network
of the collaborators and customers of an enterprise
Not randomly but in an organized way, within the enterprise
architecture framework
<pkavassalis@atlantis-group.gr>
5
Enterprise architecture
[I will come back later on]
<pkavassalis@atlantis-group.gr>
6
Let’s start from the fundamentals: basic
infrastructure
Web technologies and
applications
APIs
Client-Server Technology
Network
• Internet
Attention: The content of this presentation is mostly based on: M.
Papazoglou and P. Ribbers, eBusiness: Organizational and Technical Foundations, Jon Wiley and Sons, 2006, 7
<pkavassalis@atlantis-group.gr>
chapter 6. Students are encouraged to read this chapter.
1. The Internet

The standards by which computers (enterprise applications)
communicate with each other and with remote components

Generally speaking

Internet infrastructure enables various distributed applications
o
o
E-mail, Web browsing, Skypying, file sharing, online games, online forms
fill up
Internet a network of interconnected networks
<pkavassalis@atlantis-group.gr>
8
An overview of the Internet
Partners’ Network
Subsidiary’s Network
Business Network
<pkavassalis@atlantis-group.gr>
9
2. Client-Server technology


Computers go… network
Centralized processing vs distributed processing



Centralized processing: all processing in one central computer
Distributed processing: the processing work is executed by different
computers, central machines (mainframes etc) and PCs linking
together
In a large of cases, the enterprise needs centralized data
control and widespread data accessibility

Client/Server is a computational architecture with
o
o
o
o
Client processes (service consumers)
Server processes (service providers)
Where the client requests service from the server
Service example: customer dara, inventory data
<pkavassalis@atlantis-group.gr>
10
Roles that change

A client computer for an
maybe a server for another
application


The computer requests data
from a central server for the
available products in a
inventory and publishes them
over the Web (through
another application, a web
site application)
client/server
Give an example of client
you use

Google desktop
<pkavassalis@atlantis-group.gr>
11
Basic features


Clients and servers run on separate dedicated machines
connected through a network
and servers are software modules with well defined
interfaces



I “can’t” see the function performed by a client, they “hided” behind an
interface
Each client/server relationship is established between 2
entities that exchange messages
Message exchange is interactive
<pkavassalis@atlantis-group.gr>
12
An example

Order application via the client/server model

Order processing databases are located at the corporate office
o
o
o


Customer information
Product information
Billing
Stores possess clients that communicate with the central system to
pass orders
Result:


Many order processing points
Standardization of the order processing through a common interface
for everybody
<pkavassalis@atlantis-group.gr>
13
A variation of the server/client model

The client possesses extended functionality: rich or fat client




Advantage: flexibility


It has its own functionality, independent of the central server
It performs most of the code that implements the use interface and
the business application logic
It implements the database access mechanisms on the server-side
When the business application changes, no need to modify the “huge”
server-side
Advantage: bandwidth economies

Rich clients have advantages in multimedia-rich applications (for
example video-games) that would be bandwidth intensive if fully
served
<pkavassalis@atlantis-group.gr>
14
Another variation: the three-tier
architecture (1)
Processing
Data
Repositories
<pkavassalis@atlantis-group.gr>
15
Another variation: the three-tier
architecture (2)

A middle-tier is introduced between the use system interface (client) and the
database server: processing

Presentation-tier
o

Processing or Server-tier
o
o

Holds the permanent data for the application
How these tiers interface each other?



Business application logic
Processing execution
Data-tier
o

GUI (Web browser)
Customized code
APIs
Advantages
 Improved performance for groups with a large number of users
 Flexibility and scalability albeit the complexity of distributed processing
<pkavassalis@atlantis-group.gr>
16
3. APIs

Application Programming Interface


Hooks that can be used to connect to an application to invoke its
business logic and retrieve its underlying data
An API is an abstraction that describes an interface for the interaction
with a set of functions used by components of a software system
(Wikipedia)
o

Please give examples



The software providing the functions described by an API is said to be an
implementation of the API
API
Web API
API integration is synchronous in nature and point-to-point
<pkavassalis@atlantis-group.gr>
17
API as enterprise property

APIs can be among a company's greatest assets




Can also be among company's greatest liabilities


Customers invest heavily: buying, writing, learning
Cost to stop using an API can be prohibitive
Successful public APIs capture customers
Bad APIs result in unending stream of support calls
References [see Course Web Page]
<pkavassalis@atlantis-group.gr>
18
API: a Wikipedia example

http://en.wikipedia.org/w/api.php?action=query&list=backlink
s&bltitle=Star%20Wars&bllimit=10





http://en.wikipedia.org/w/api.php — This is the place on the web
where the API lives.
action=query — fetch the data requested in the rest of the URL
list=backlinks — list pages that link to a specific page
bltitle=Star%20Wars — the specific page with the title “Star Wars”
(note that %20 represents a space)
bllimit=10 — limit to 10 results
<pkavassalis@atlantis-group.gr>
19
API: A Twitter example

http://api.twitter.com/1/users/show.xml?screen_name=geeky
girldawn




http://api.twitter.com/1 — Version 1 of the Twitter API
users — users section of the API to gather information on a user.
show.xml — display the output as XML
screen_name=geekygirldawn — the user that you want information
about (geekygirldawn)
<pkavassalis@atlantis-group.gr>
20
API: Google Maps

http://code.google.com/intl/el/apis/maps/
<pkavassalis@atlantis-group.gr>
21
4. Web technologies and applications

What is the web?


Web organizes inter-linked pages of information residing on sites
through the world
The Web is one of the services that runs on the Internet
o


A collection of interconnected documents and other resources, linked by
hyperlinks and URLs, and accessed via the Internet
Result: Information can be automatically shared
Web-based applications



Web server
Content files (Web pages)
Gateways to non-Web content (for example: databases)
o
Please design the architecture on the basis of the client/server model
<pkavassalis@atlantis-group.gr>
22
more http://www.livinginternet.com/w/w.htm
Construction of Web applications
Non-Web content
Web Gateway
<pkavassalis@atlantis-group.gr>
23
Download