enterprise architecture

30
CS 4720 Enterprise Architecture CS 4720 – Web & Mobile Systems

Upload: audi

Post on 25-Feb-2016

61 views

Category:

Documents


0 download

DESCRIPTION

Enterprise Architecture. CS 4720 – Web & Mobile Systems. The Concept of a Web Service. Each service is built around a function/feature That function is surrounded by a specified set of protocols (SOAP, POX, WSDL, WSD, etc) to govern communication - PowerPoint PPT Presentation

TRANSCRIPT

Page 1: Enterprise  Architecture

CS 4720

Enterprise Architecture

CS 4720 – Web & Mobile Systems

Page 2: Enterprise  Architecture

CS 4720

The Concept of a Web Service• Each service is built around a function/feature• That function is surrounded by a specified set

of protocols (SOAP, POX, WSDL, WSD, etc) to govern communication

• Services can be distributed in such a way that then end “application” is a completely distributed application that is transparent to the end user

2

Page 3: Enterprise  Architecture

CS 4720

The Concept of a Web Service• We are focused on creating a full “service”• Something that has a fully transparent

methodology for talking to it• Something that can be invoked by remote

applications (or other services)• All for the purpose of creating a larger system

solution

3

Page 4: Enterprise  Architecture

CS 4720

Defining a System Solution• Computer Science education tends to be rather

product focused• “Build an app that does x”• Most of you probably think about taking a

programming job as going to work for IBM, Microsoft, etc and building software that is actually sold

4

Page 5: Enterprise  Architecture

CS 4720

Who's the Customer?• Think of the number of software development

companies out there that sell software?• Name some. What is their business model?• Now name some other major companies that

you know of who's core business isn’t software.• How does software play in their business?• Who do you think writes that code? Who are

the customers of those systems?

5

Page 6: Enterprise  Architecture

CS 4720

The Enterprise

6

Page 7: Enterprise  Architecture

CS 4720

The Enterprise• A business, company, or other comparable

organization• Businesses have business models and goals• Businesses have various resources

– Staff– Products– Services– Information Technology

• All have to work together to succeed

7

Page 8: Enterprise  Architecture

CS 4720

Enterprise Architecture• “The primary purpose of describing the

architecture of an enterprise is to improve the effectiveness or efficiency of the business itself.

• This includes innovations in the structure of an organization, the centralization or federation of business processes, the quality and timeliness of business information, or ensuring that money spent on information technology (IT) can be justified.”

8

Page 9: Enterprise  Architecture

CS 4720

Enterprise Architecture

9

Page 10: Enterprise  Architecture

CS 4720

What do we use web services for?• Sure, we can use web services to build

applications that we distribute or sell to end users

• But what if we need some very specific services based around our very specific business model?

• Not necessarily going to be a huge market for that

• The customer is internal to the business

10

Page 11: Enterprise  Architecture

CS 4720

How does this relate to web services?• SOA and EA both:

– address similar architectural domains– are intended to closely align IT with business– use input based on business objectives– require similar strategies and planning activities

11

Page 12: Enterprise  Architecture

CS 4720

How does this relate to web services?• SOA is (in effect) a partial subset of EA• SOA is a potential tool in creating a full

enterprise architecture– Businesses build services around core

functions/features in the enterprise• For example: UPS might have a service that finds the

current location of a package• This is an internally created service that has both

internal and external uses• But what about a service to assign a driver to a route?

12

Page 13: Enterprise  Architecture

CS 4720

Internal Business Services• These services are geared specifically to one particular

business• What are some examples?• Our favorite example: SIS• Peoplesoft didn't build that from scratch• The brought together existing components and make

some custom changes to create a new internal business solution

• That's enterprise architecture (and why you need to learn to do it better)

13

Page 14: Enterprise  Architecture

CS 472014

So… why are we talking about this?• Creating web-enabled software is not always

about building web pages• Creating mobile software is not always about

building consumer apps• Web services are about building a software

solution around a very specific problem• Where do we see some of the most change in

the way the world works?• Where is most software used?

Page 15: Enterprise  Architecture

CS 4720

That's the why; now the how• We’ve done web services in PHP/Python, now

Appian/BPEL/BPMN, next Java, then .NET

15

Page 16: Enterprise  Architecture

CS 472016

BPMN• Business Process Model and Notation• Latest version from March 2011• Used to model and specify business processes• Flowchart-like notation• Meant to look like UML• Meant to be easy for everyone to read and

understand

Page 17: Enterprise  Architecture

CS 472017

BPMN

Page 18: Enterprise  Architecture

CS 472018

BPMN

Page 19: Enterprise  Architecture

CS 472019

Appian

Page 20: Enterprise  Architecture

CS 472020

BPEL• Remember BPEL?• Business Process Execution Language• An XML format that is meant to “orchestrate”

various functions/methods that are built in other languages

• Takes inputs and outputs and passes them between web services!

• BPMN can mesh with BPEL

Page 21: Enterprise  Architecture

CS 472021

BPEL• Why build from the ground up?• Combining web services (WSDL) with BPEL to

build your own applications internal to an enterprise

• Eclipse plugins and open-source projects

Page 22: Enterprise  Architecture

CS 472022

Our Friend Java• We know so much, but actually so little• Java has been around for nearly 20 years• Lots of people know it• Can't hardly find a college CS grad that can't

program something in Java

Page 23: Enterprise  Architecture

CS 4720

The Java Family• Java is Java is Java no matter what you

download/run• The core is the same – that's the “Write Once,

Run Anywhere*” idea• * Well… sorta• Java might be too big for some devices or need

more functionality for others• How do we change that?• We change the imports

23

Page 24: Enterprise  Architecture

CS 4720

The Java Family• Any Java application is contingent on the

libraries you include with it• Thus, we have three basic branches of Java,

based on the core set of libraries:– Java SE (Standard Edition): has everything for

desktop use, including GUIs, basic threading, etc– Java EE (Enterprise Edition): has more than SE, and

includes packages specifically for enterprise arch– Java ME (Mobile Edition): has less than SE and a

different GUI package

24

Page 25: Enterprise  Architecture

CS 4720

Java EE's New Packages• javax.ejb – Enterprise JavaBeans, the core of

Java's EA model, includes API for persistence, remote procedure calls, concurrency control, and access to distributed objects

• javax.jms – the Java Message Service provides methods for communicating between enterprise objects

• javax.resource – the Java EE Connector allows for connecting to application servers

25

Page 26: Enterprise  Architecture

CS 4720

How is Java EE like Web Services?• In a web service

26

Page 27: Enterprise  Architecture

CS 4720

How is Java EE like Web Services?• In Java EE

27

Page 28: Enterprise  Architecture

CS 4720

Why Java EE?• When dealing with business processes, you will

often run into questions like these:– “What if the server goes down while I'm assigning a

route to a truck delivering packages?”– “How do we keep the data secure on our

network?”– “We have thousands of people using this system –

how do we keep it online?”– “I don't want to have to keep rewriting business

logic for every tiny program we need.”

28

Page 29: Enterprise  Architecture

CS 4720

Java EE Terminology• JAR (Java Archive): a collection of Java libraries• WAR (Web Archive): a Java web application, consisting of JSP

files and servlets• JSP (Java Server Pages): dynamically executed HTML + Java web

pages• Servlet: pre-compiled, request/respond object, kinda like a pre-

compiled PHP page• EJB (Enterprise JavaBean): where the business logic lies, exists

server-side• EAR (Enterprise Archive): a full enterprise solution with JARs,

WARs, and EJBs inside• Application Server / Container: a server that can handle EARs

29

Page 30: Enterprise  Architecture

CS 4720

How it all fits together

30