Enterprise Level Computing

farmpaintlickInternet και Εφαρμογές Web

21 Οκτ 2013 (πριν από 3 χρόνια και 7 μήνες)

62 εμφανίσεις

01/25/10

1

Enterprise Level Computing

Lecture 1

An Introduction to the Module

Dave Elliman

The Module Description

This module is part of the
Net
-
Centric Computing
theme in the School of
Computer Science.


The
module provides an overview of more advanced Web architectures and
technologies. In particular it will cover the development of web services
through the use of standards such as XML, SOAP, WSDL and UDDI and
consider how web services can be used to implement a Service Oriented
Architecture (SOA). The module will also provide an introduction to the
Semantic Web. This module explains how modern enterprises construct
computer applications that are distributed over an intranet using a variety of
servers and clients. Multi
-
tiered architectures using state
-
of
-
the
-
art distributed
system technologies will be covered in a context of object
-
oriented design and
implementation as distributed components. The module will describe the
interface to web technologies and the Internet and cover electronic commerce
as an important application. The Java 2 Enterprise Edition will be used as the
basis for the module and compared and contrasted with Microsoft
.Net

technology. Security will be a theme throughout all aspects of the course, and
students will learn additional material in the field of networking and
communication protocols. Tools and good practice in developing state
-
of
-
the
-
art enterprise architectures will be described and demonstrated.

A Couple of Updates

This module is part of the
Net
-
Centric Computing
theme in the School of Computer Science.


The
module provides an overview of more advanced Web architectures and technologies. In particular it will cover the
development of web services through the use of standards such as XML, SOAP, WSDL and UDDI and consider how web services
can be used to implement a Service Oriented Architecture (SOA). The module will also provide an introduction to the Semantic
Web. This module explains how modern enterprises construct computer applications that are distributed over an intranet using
a
variety of servers and clients. Multi
-
tiered architectures using state
-
of
-
the
-
art distributed system technologies will be covere
d in a
context of object
-
oriented design and implementation as distributed components. The module will describe the interface to web
technologies and the Internet and cover electronic commerce as an important application. The Java 2 Enterprise Edition will b
e
used as the basis for the module and compared and contrasted with Microsoft
.Net

technology. Security will be a theme throughout
all aspects of the course, and students will learn additional material in the field of networking and communication protocols
. T
ools
and good practice in developing state
-
of
-
the
-
art enterprise architectures will be described and demonstrated.

Restful we services & JSON

JEE 6

01/25/10

2

Net
-
centric Computing


You might say web
-
centric computing


This seems to include almost every application I have built
in the last five years


You are an IT Director responsible for an
organisations IT and Web presence


What
keeps you awake at night?


01/25/10

5

What keeps you awake?


Hardware failure and loss of data


Web response slowing to a standstill


Hackers or competitors breaking our security


Denial of service attacks crippling our response


Catastrophic bugs in the software


Development timescales and
budgets


Falling behind in terms of user experience


Falling behind in terms of mobile access

01/25/10

4

A Different
Emphasis from
“Programming”


Highly
distributed maybe in cloud


Maintainable and upgradeable


Reliability
(very low defect rate)


A
vailability (up
-
time) Integrity


N
o
loss of
data


ever


Robustness (response to failure)


Resilience (response to
attack)


Security


Response
time


Mobile access

01/25/10

6

How can you stop worrying?


One key is redundancy….


Clusters of servers
-

hot swapped


RAID arrays


Multiple network connections


Multi
-
tiered architectures (middleware)


Enterprise design patterns


Modern toolkits


The cloud

01/25/10

7

Loss of Data + Security


Cloud solutions


Database
with automatic back
-
up


often continuous


best across network


Virtualisation


Security is a huge issue but covered in SEC and to some
extent DBC not in
ELC


01/25/10

8

BUT…. Isn’t that hard to code?


YES very hard… lots of classic computer science
nasties



deadly embrace, data over
-
writing
etc
, dependent
transactions to be rolled back…


TOO HARD… so use a well tried solution


Patterns and Frameworks... (you can do it RIGHT
)


Cloud


somebody else did it right for you

01/25/10

9

Net
-
C
entric’s

Eight
-
fold Paths to Nirvana...

01/25/10

10

Reasons for Taking G53ELC


Because it
explains
the way most computer applications
are built today


Because the module is up
-
to
-
date


Because the best computer
-
related jobs are in enterprise
architecture (and in computer security)

01/25/10

11

What Is the Point of G53ELC cntd


To give you a
useful

“Cookbook” of techniques


To help you understand the problems of programming in a
real commercial environment

01/25/10

12

What Form Will the Lectures Take?


We will look at several key problems and produce pattern
-
based solutions in the lectures


There will be a mixture of explanation and demonstrations
(which may not always work first time
)


A two hour lecture seems unreasonable


I think we will
need to change the module to suit

How can you possible cover all 8 paths...

I can’t... sorry!

We will focus
on one in any given example
but mention others
for comparison

A lot of the concepts will be generic to all of
them

01/25/10

13

What Do I Expect You to Know Already?


I expect you to have a working knowledge of the
Java programming language


I
expect you to have an understanding of
relational databases,
normalisation

and SQL


I expect you to know something about object
oriented systems design

01/25/10

14

What Do You Expect Me to Know
Already? cntd


I expect you to have some understanding of
communications networks and protocols


I expect you to be able to make sense of UML diagrams

01/25/10

15

Themes: Architecture


What is a client
-
server and a multi
-
tier architecture?


Choosing a suitable technology for a client


Patterns used in software architectures


Dependency injection and persistence frameworks

01/25/10

17

Themes: Real
-
life Issues


Performance


Availability


Reliability and Robustness


Scalability


Security


Multi
-
tier Implementations


Deployment

01/25/10

18

What Do I Need to Know?


Notes will be made available progressively on the
Moodle page:

http://
weed.cs.nott.ac.uk/moodle


You may also be asked a question on anything
that was said in a lecture or in specified notes


The web page will have pointers to a great deal of
material for background reading if you want to
know more

01/25/10

20

When Will the Lectures Be?


Monday at
10:00 C3



Monday at
11:00 C3

01/25/10

21

Any Questions?