PPT - Center for Software Engineering

advertisement
Megatrends in
Information Technology
Software Engineering Linkages
Len Cayetano
Personal Information
 Engineer at Kyocera
 20 Plus Years in Software Engineering
 Embedded Systems, SOA, Internet, Storage, Corporate Tax Software,
 Program Management, Engineering Management
 Double Alumnus, University of Southern California
 MS Software Engineering, Viterbi School of Engineering
 MBA International Business, Marshall School of Business
 Loyola Marymount University, Los Angeles
 MS Computer Science
 DePaul University, Chicago
 BS, Dual Major in Mathematics & Computer Science with Honors
October 28, 2013
Megatrends in IT & Software Engineering Linkages-2
USC
VITERBI
SCHOOL of
ENGINEERING
AGENDA
Megatrends & Driving Forces in
Information Technology
Technologies to Actualize
Megatrends
Embedded Systems
CSCI 510
Software
Engineering
Economics
October 28, 2013
Linkages to Software
Engineering
Megatrends in IT & Software Engineering Linkages-3
Essential Objectives
1. Discuss Megatrends that have implications for
the future of Software Engineering
2. Review essential technologies which will
enable organizations to exploit these trends
3. Develop an understanding of the importance of
embedded systems for future products
4. Review relevant Software Engineering theory
October 28, 2013
Megatrends in IT & Software Engineering Linkages-4
SECTION 1
MEGATRENDS AND DRIVING
FORCES IN IT
October 28, 2013
Megatrends in IT & Software Engineering Linkages-5
Gartner’s Strategic Outlook for 2020
2013
2018
2020
Total economic
value add for
“Internet of
Things” will be
$1.9 trillion
dollars in 2020
There will be up to 30 billion
devices connected with unique
IP addresses
Benefit and impact
wide range of
industries including
healthcare, retail,
transportations
References: Gartner, 2013. Published by Michael Cooney in Infoworld. See [60]
October 28, 2013
Megatrends in IT & Software Engineering Linkages-6
Four Powerful Driving Forces (Gartner)
SOCIAL MEDIA

MOBILE
CLOUD
INFORMATION
Driving forces will:



Continue to drive change and create new opportunities
Create high demand for advanced programmable infrastructure
Programmable infrastructure will need to execute at web-scale
References: Gartner, 2013. Published by Michael Cooney in Infoworld. See [60]
October 28, 2013
Megatrends in IT & Software Engineering Linkages-7
Gartner’s 2014 Top 10 Strategic
Technology Trends
1. Mobile Device Diversity & Management
2. Mobile Apps and Applications
3. Software-defined Anything (SDx)
4. Smart Machines
5. 3-D Printing
6. The Internet of Everything
7. Hybrid Cloud and IT as Service Broker
8. Cloud/Client Architecture
9. The Era of Personal Cloud
10. Web-scale IT
References: Gartner, 2013. Published by Michael Cooney in Infoworld. See [60]
October 28, 2013
Megatrends in IT & Software Engineering Linkages-8
2014 Strategic Technology Trend #1
Mobile Device Diversity & Management
 Growing variety of devices,
computing styles, user contexts,
and interaction paradigms
 Doubling and tripling of the size of
the mobile workforce
 Need for enterprise policies on
employee-owned hardware usage

Bring Your Own Device (BYOD) OK?
 Companies need to set expectations

Balance flexibility with confidentiality and
privacy requirements
References: Gartner, 2013. Published by Michael Cooney in Infoworld. See [60]
October 28, 2013
Megatrends in IT & Software Engineering Linkages-9
2014 Strategic Technology Trend #2
Mobile Apps and Applications

Apps will continue to grow faster than applications






Apps are smaller, more targeted, while a larger
application is more comprehensive
Improved JavaScript performance will begin to
push HTML5 and browser as a mainstream app
development environment
Developers should create UI models that include
richer voice and video that improve connectivity
Developers should look for ways to snap together
apps to create larger applications
Developers should find ways to leverage intent,
inferred from emotion and actions
 Goal is to motivate changes in end-user behavior
Accept that no single tool will be optimal

Several will have to be used for development
References: Gartner, 2013. Published by Michael Cooney in Infoworld. See [60]
October 28, 2013
Megatrends in IT & Software Engineering Linkages-10
2014 Strategic Technology Trend #3
Software-defined Anything (SDx)
 Software-defined anything (SDx) incorporates various
initiatives which share similar visions
 Very similar to OpenStack, OpenFlow, the Open Compute
Project, and OpenRack
 OpenStack is a cloud computing project aimed at providing
an infrastructure as a service (IaaS)


It is free and open-source software released under the terms of the
Apache License
Industry leaders with similar interests participate
 Examples of SDx include:




SDN (Software-defined networking )
SDDC (Software-defined data center )
SDS (Software-defined storage)
SDI (Software-defined Infrastructure)
References: Gartner, 2013. Published by Michael Cooney in Infoworld. See [60]
October 28, 2013
Megatrends in IT & Software Engineering Linkages-11
2014 Strategic Technology Trend #3
Software-defined Anything (SDx)
Continued
 Evolution of SDx technology silos and consortiums will:


Create emerging standards and bridging capabilities to benefit
portfolios
Challenge individual technology suppliers to demonstrate
their commitment to true interoperability standards within their
specific domains
 Issues & Concerns


Vendors’ interpretations of SDx definitions may be anything but
open
Vendors who dominate a sector may reluctantly want to abide
by standards that have the potential to:
 Lower margins and open broader competitive opportunities
 Benefit consumer because of simplicity, cost reduction and
consolidation efficiency
References: Gartner, 2013. Published by Michael Cooney in Infoworld. See [60]
October 28, 2013
Megatrends in IT & Software Engineering Linkages-12
2014 Strategic Technology Trend #4
Smart Machines


Through 2020, the smart machine era will blossom
There will be a proliferation of:






Contextually aware, intelligent personal assistants,
smart advisers (e.g. IBM Watson)
Advanced global industrial systems
Public availability of early examples of autonomous
vehicles
The smart machine era will be the most disruptive in
the history of IT
New systems are now finally emerging that will fulfill
some of the earliest visions for what information
technologies might or could accomplish
Machines will do what we thought only people could do
and machines could not!
References: Gartner, 2013. Published by Michael Cooney in Infoworld. See [60]
October 28, 2013
Megatrends in IT & Software Engineering Linkages-13
2014 Strategic Technology Trend #4
Smart Machines
 Highly recommend book by John
E. Kelly and Steve Hamm
 Thesis is that era of cognitive
systems is here!
 Machines will do more than
calculations
 They will sense, learn, reason and
interact naturally with people in
powerful ways
 Will create a new culture of
innovation
References: Gartner, 2013. Published by Michael Cooney in Infoworld. See [60]
October 28, 2013
Megatrends in IT & Software Engineering Linkages-14
2014 Strategic Technology Trend #5
3-D Printing





Very expensive “additive manufacturing” devices
have been around for 20 years
Worldwide shipments of 3D printers are expected
to grow 75 percent in 2014
Doubling of unit shipments expected in 2015
Market for devices ranging from $50,000 to
$500, and with commensurate material and build
capabilities, is nascent yet growing rapidly
The consumer market hype has made
organizations aware of the following:

3D printing is a real, viable and cost-effective means to
reduce costs


Potential for improved designs
Streamlined prototyping
References: Gartner, 2013. Published by Michael Cooney in Infoworld. See [60]
October 28, 2013
Megatrends in IT & Software Engineering Linkages-15
2014 Strategic Technology Trend #6
The Internet of Everything
 The Internet is expanding beyond PCs and mobile
devices
 Internet is expanding into:


Enterprise assets such as field equipment
Consumer items such as cars and televisions
 Issues for most enterprises and vendors


Most enterprises and technology vendors have yet to
explore the possibilities of an expanded Internet
Most are not operationally or organizationally ready
 Imagine digitizing the most important products,
services and assets!
References: Gartner, 2013. Published by Michael Cooney in Infoworld. See [60]
October 28, 2013
Megatrends in IT & Software Engineering Linkages-16
2014 Strategic Technology Trend #6
The Internet of Everything
Your Body
Your Home
Your City
Industry
Environment
References: Gartner, 2013. Published by Michael Cooney in Infoworld. See [60]
Also see http://postscapes.com/internet-of-things-examples/
October 28, 2013
Megatrends in IT & Software Engineering Linkages-17
2014 Strategic Technology Trend #7
Hybrid Cloud and IT as Service Broker


Bringing together personal clouds and external private
cloud services is an imperative
Enterprises should design private cloud services with a hybrid
future in mind


Hybrid cloud services can be composed in many ways


Could vary from relatively static to very dynamic
Managing this composition will often be the responsibility of
something filling the role of cloud service broker (CSB)


Need to make sure future integration/interoperability is possible
CSB should handle aggregation, integration and customization of services
Enterprises that are expanding into hybrid cloud computing from
private cloud services are taking on the CSB role
References: Gartner, 2013. Published by Michael Cooney in Infoworld. See [60]
October 28, 2013
Megatrends in IT & Software Engineering Linkages-18
2014 Strategic Technology Trend #8
Cloud/Client Architecture


Cloud/client computing models are shifting
Essentials of the cloud/client architecture







The client is a rich application running on an Internet-connected device
The server is a set of application services hosted in an increasingly elastically
scalable cloud computing platform
The cloud is the control point and system of record
Applications can span multiple client devices
The client environment may be a native application or browser-based
Increasingly complex demands of mobile users will drive apps to
demand increasing amounts of server-side computing and storage capacity
Need to exploit the intelligence and storage of the client device:



After all there are robust capabilities in many mobile devices
Need to manage issue of increased demand on networks
Cost of networks and the need to manage bandwidth use will create incentives to:

Minimize the cloud application computing and storage footprint

Exploit the intelligence and storage of the client device
References: Gartner, 2013. Published by Michael Cooney in Infoworld. See [60]
October 28, 2013
Megatrends in IT & Software Engineering Linkages-19
2014 Strategic Technology Trend #9
The Era of Personal Cloud

The Personal Cloud era will mark a power shift away from
devices toward services

In this new world




The specifics of devices will become less important for the organization to
worry about
However, devices will still be necessary
Users will use a collection of devices, with the PC remaining one
of many options

No one device will be the primary hub

Rather, the personal cloud will take on that role
Access to the cloud and the content stored or shared from the
cloud will be:

Managed and secured, rather than solely focusing on the device itself
References: Gartner, 2013. Published by Michael Cooney in Infoworld. See [60]
October 28, 2013
Megatrends in IT & Software Engineering Linkages-20
2014 Strategic Technology Trend #10
Web-scale IT

Web-scale IT is a pattern of global-class computing that
delivers the capabilities of large cloud service providers within an
enterprise IT setting



Done by rethinking positions across several dimensions
Large cloud services providers such as Amazon, Google,
Facebook, etc., are re-inventing the way IT in which IT services
can be delivered (Need to imitate)
Their capabilities go beyond scale in terms of sheer size to also
include scale as it pertains to speed and agility


If enterprises want to keep pace, then they need to emulate the
architectures, processes and practices of these exemplary cloud
providers
Gartner calls the combination of all of these elements Web-scale IT
References: Gartner, 2013. Published by Michael Cooney in Infoworld. See [60]
October 28, 2013
Megatrends in IT & Software Engineering Linkages-21
2014 Strategic Technology Trend #10
Web-scale IT (Continued)

Web-scale IT looks to change the IT value chain in a systemic
fashion

Data centers are designed with an industrial engineering
perspective


This goes beyond re-designing facilities to be more energy
efficient


Perspective that looks for every opportunity to reduce cost and waste
Need to also include in-house design of key hardware components such as
servers, storage and networks
Web-oriented architectures allows developers to build very
flexible and resilient systems that recover from failure more
quickly
References: Gartner, 2013. Published by Michael Cooney in Infoworld. See [60]
October 28, 2013
Megatrends in IT & Software Engineering Linkages-22
“ Always On” or “Connected”
Society








Term created by Gartner to refer to the prediction that 75% of EU
and US citizens will have the option of immediate access to eservices for over 80% of their non-working time by 2007
“Always On” society will evolve as a consequence of widespread,
easy access to sufficient wireless network bandwidth
Evolution will also result from availability of mobile devices capable
of exploiting this bandwidth at affordable network fees
Trend towards mobility will become an integral part of society
A mobile device will become a personal companion
Personal mobile devices will increase in processing power,
networking capabilities and battery capacity
Personal devices will evolve to advanced personal platforms
Will reinforce tendency to move from the following work scenarios:


“fixed time” to “anytime”
“fixed place” to “anywhere”
References: Gerhard Wiehler, 2004 , See [54, 55]
October 28, 2013
Megatrends in IT & Software Engineering Linkages-23
SECTION 2
TECHNOLOGIES TO
ACTUALIZE MEGATRENDS
AND DRIVING FORCES
October 28, 2013
Megatrends in IT & Software Engineering Linkages-24
Technologies Making Products Based on
Megatrends Possible
 Gartner participates in the rich marketplace of ideas
 Attempts to predict what the future of IT will look like
 Leverage work of other technical thought leaders
 Gerhard Wiehler and others to discuss “HOW?”
 Goal is to discuss concrete technological mechanisms
through which Gartner’s predictions can be actualized
October 28, 2013
Megatrends in IT & Software Engineering Linkages-25
Comparison of 2 Building Blocks
J2EE Environment & .NET Framework
J2EE Environment
Component
Based
Application
Swing
Enterprise
Java
Beans
Web
Service
Java
Server
Pages
.NET Framework
Other
Application
JDBC
More
Standard Java Packages
Component
Based
Application
Windows
Forms
Web
Service
Enterprise
Services
ASP.NET
Other
Application
ADO.NET
More
.NET Framework Class Library
Java Virtual Machine (VM)
Common Language Runtime
Windows, Unix, Linux, Others
Windows
References: Gerhard Wiehler, 2004 , See [54, 55]
October 28, 2013
Megatrends in IT & Software Engineering Linkages-26
Mobile Client Architectures for
Java and .NET Environments
J2ME
.NET Compact Framework
Applications
MID
Profile
PDA
Profile
Game
Profile
Applications
Other
Profile
CLDC
Connected Limited
Device
Configurations
CDC
Connected Device
Configurations
KVM
CVM
Symbian, Windows Mobile, Linux,
Palm OS, Blackberry, IOS,etc
Web Services
Web Forms
Data Access and XML
Base Class Library
Common Language Runtime
Windows CE .NET
(Windows Mobile)
References: Gerhard Wiehler, 2004 , See [54, 55]
October 28, 2013
Megatrends in IT & Software Engineering Linkages-27
Reduction from Large to Smaller
Mobile Environment: Case 1 (Java)
J2EE Environment
Component
Based
Application
Swing
Enterprise
Java
Beans
Web
Service
J2ME
Applications
Other
Application
MID
Profile
Java
Server
Pages
JDBC
More
PDA
Profile
Game
Profile
Other
Profile
CLDC
Connected Limited
Device
Configurations
CDC
Connected Device
Configurations
KVM
CVM
Standard Java Packages
Java Virtual Machine (VM)
Windows, Unix, Linux, Others
Symbian,Windows Mobile,Linux,
Palm OS, Blackberry, IOS,etc.
References: Gerhard Wiehler, 2004 , See [54, 55]
October 28, 2013
Megatrends in IT & Software Engineering Linkages-28
Reduction from Large to Smaller
Mobile Environment: Case 2 (.NET)
.NET Framework
Component
Based
Application
Web
Service
.NET Compact Framework
Applications
Other
Application
Web Services
Windows Enterprise
ASP.NET ADO.NET More
Forms
Services
.NET Framework Class Library
Web Forms
Data Access and XML
Base Class Library
Common Language Runtime
Common Language Runtime
Windows
Windows CE .NET
(Windows Mobile)
References: Gerhard Wiehler, 2004 , See [54, 55]
October 28, 2013
Megatrends in IT & Software Engineering Linkages-29
Summary of Reduction from
Large to Smaller Mobile Environment
References: Gerhard Wiehler, 2004 , See [54, 55]
October 28, 2013
Megatrends in IT & Software Engineering Linkages-30
Example of Mobile Enterprise Portal
Devices
Markup
Protocol
Network
Gateways
Enterprise
Portal
●HTML
Email
● XHTML
Basic
● WAP
● WML
● HTTP
● GPRS
● SMTP
● 3G/
UMTS
● Tiny
HTML
● GSM
● WLAN
● cHTML
(I-Mode)
Service/
Application
● SMS
● VoiceXML
● Voice
● WAPGateway
● Web
Server
● Voice
Server
Web
Access
Mobile
Enterprise
Portal
Mobile
Access
Corporate
Directory
Standard
Application
(e.g. ERP)
Field Service
Application
Departmental
Service
LocationBased
Services
References: Gerhard Wiehler, 2004 , See [54, 55]
October 28, 2013
References: Gerhard Wiehler, 2004 , See [54, 55]
Megatrends in IT & Software Engineering Linkages-31
Wireless Application Protocols (WAP)
Architecture
WAP
Wireless Application Protocols
Internet Protocols
WDP
Wireless Datagram Protocol
TCP/IP
WTLS
Wireless Transport Layer Security
HTTP
WTP
Wireless Transaction Protocol
TLS/SSL
WSP
Wireless Session Protocol
WML Wireless Markup Language
References: Gerhard Wiehler, 2004 , See [54, 55]
October 28, 2013
Megatrends in IT & Software Engineering Linkages-32
SECTION 3
EMBEDDED SYSTEMS
October 28, 2013
Megatrends in IT & Software Engineering Linkages-33
Driving Forces for Continued Growth in
Embedded Systems







Comprise biggest share on the integrated circuit
market
Become more powerful every year with evolution
of microprocessor technology
Becoming more sophisticated, blurring frontier
between computers & appliances
Growing similarity between embedded and desktop
apps
Similarity is enforcing need to connect devices
through TCP/IP networks
Increasing trends of bigger integration between
different microprocessed appliances
Moving toward an “Internet of Everything”
References: See [54, 55, 60]
October 28, 2013
Megatrends in IT & Software Engineering Linkages-34
Examples of Embedded Systems
Source:
https://www.google.com/search?q=embedded+systems+examples&hl=en&qscrl=1&rlz=1T4NDKB_enUS538US538&t
bm=isch&tbo=u&source=univ&sa=X&ei=k2hmUqiPBOWTiAKNt4CoCw&sqi=2&ved=0CDwQsAQ&biw=1093&bih=490
October 28, 2013
Megatrends in IT & Software Engineering Linkages-35
Overview of an Embedded System
 All use form of non-volatile RAM

Flash memory, EPROM, ROM
 All use some form of RAM
 Most have communications
interfaces to a development host
 Several embedded platforms
available to host Web Services

C PU
ROM
N on -volatile
M em ory
C lock
I/O
RAM
A Typical Embedded System
Source: See Reference [54], Page 3.
e.g. Netburner, RabbitCore, SHIP
 Several development toolkits




J2ME (Java Platform, Micro Edition)
ETTK (Effort among multiple IBM labs)
eSOAP (Light implementation of SOAP)
gSOAP (Cross-platform open source)
References: See [ 54]
October 28, 2013
SHIP Board
Source: See Reference [54], Page 3.
Megatrends in IT & Software Engineering Linkages-36
SECTION 3B
AN EXAMPLE OF SOA IN
EMBEDDED SYSTEMS
October 28, 2013
Megatrends in IT & Software Engineering Linkages-37
What is SOA? First, Understand
“Tight Coupling”
 Data and functionality
typically reside on more
than one, often disparate
systems
 Applications need to be able
to “talk to each other”
 Status quo: Proprietary
or custom communication
interfaces between
applications
Source: H. Taylor, “Service-Oriented Architecture (SOA) 101 ‘What’s Hype, What’s Real?’“, Juniper Networks, Inc.,2007.
October 28, 2013
Megatrends in IT & Software Engineering Linkages-38
Challenges with Tight Coupling

It is costly to maintain

Slow and costly to change

Consequence: Cost and complexity of managing and changing a
tightly coupled architecture makes business agility difficult


IT can’t keep up with business needs, but it’s not their fault
Does not support REUSE!


Reuse is a challenge industry wanted to solve for many years!

Header files, inheritance and polymorphism at the object level,
frameworks
CORBA (Common Object Request Broker Architecture)
Microsoft COM (Component Object Model)
EAI (Enterprise Application Integration )
Web Services
Evolution of reuse solutions reflects industry’s concerns





CORBA and COM will be explored in a little more detail
Source: H. Taylor, “Service-Oriented Architecture (SOA) 101 ‘What’s Hype, What’s Real?’“, Juniper Networks, Inc.,2007.
October 28, 2013
Megatrends in IT & Software Engineering Linkages-39
CORBA: Technology to Facilitate Reuse
 Tier1 belongs to:
 Traditional Web browsers
 Web-centric applications
 Java applets, Java
beans
 Tier 2 runs on any server
that can support HTTP
and CORBA clients
 CORBA objects, like EJBs,
encapsulate business
logic
The 3-Tier CORBA/Java Object Web.
Source: Client/Server Programming with JAVA and CORBA
Second Edition by R. Orfali and D. Harkey, p. 45.
October 28, 2013
 Tier 3 consists of almost
anything a CORBA
object can access
Megatrends in IT & Software Engineering Linkages-40
COM: Technology to Facilitate Reuse

Brief Overview of COM
 Microsoft COM (Component Object Model) enables software components to
communicate
 COM is used by developers to create re-usable software components, link
components together to build applications, and take advantage of Windows
services
 COM objects can be created with a variety of programming languages
including object-oriented languages such as C++
 The family of COM technologies includes COM+, Distributed COM (DCOM) and
ActiveX® Controls.
 The .NET Framework provides bi-directional interoperability with COM
 Enables COM-based applications to use .NET components and .NET
applications to use COM components


Reasons CORBA, COM, EAI and others did not work
 Lack of open standards
 Proprietary components
Now examine SOA as a technology
Source: http://www.microsoft.com/com
October 28, 2013
Megatrends in IT & Software Engineering Linkages-41
SOA: The Ideal of Open Interoperability
(Loose Coupling)
SOA – A Definition

An IT architecture composed
of software that has been
exposed as “Services” – i.e.
invoked on demand using a
standard protocol.

“Web Services” – software
available as a “service” using
Internet protocols.

One software application
talking to another using a
standards-based (i.e. nonproprietary) language over a
standards-based communication
protocol.

An IT architecture that enables
“loose coupling” of applications
Source: H. Taylor, “Service-Oriented Architecture (SOA) 101 ‘What’s Hype, What’s Real?’“, Juniper Networks, Inc.,2007.
October 28, 2013
Megatrends in IT & Software Engineering Linkages-42
Core SOA Definitions







XML – Extensible Markup Language
SOAP – Simple Object Access Protocol
WSDL – Web Services Description Language
UDDI - Universal Description, Discovery and Integration
ESB – Enterprise Service Bus
Key Concepts






Network Transparency
Virtualized endpoint
Self-describing software
Universally discoverable software
Universally understood software
Machine to machine interaction


(World Wide Web Consortium)W3C (www.w3.org)
Organization for the Advancement of Structured Information
Standards(OASIS) (www.oasis-open.org)
Standards Organizations
Source: H. Taylor, “Service-Oriented Architecture (SOA) 101 ‘What’s Hype, What’s Real?’“, Juniper Networks, Inc.,2007.
October 28, 2013
Megatrends in IT & Software Engineering Linkages-43
SOA Usage & Supporting Platforms
 SOA Usage







B2B
Enterprise Application Integration (EAI)
Application to Application
Government
Embedded Systems
SaaS (Software as a Service)
Cloud Computing (Computing/Infrastructure as a Service)
 Major Players in SOA Space





IBM: WebSphere SOA Product Suite
Oracle: WebLogic
Oracle: Fusion Middleware
Microsoft: .NET
SAP: NetWeaver
Source: H. Taylor, “Service-Oriented Architecture (SOA) 101 ‘What’s Hype, What’s Real?’“, Juniper Networks, Inc.,2007.
October 28, 2013
Megatrends in IT & Software Engineering Linkages-44
What Makes Web Services Appealing?
CORBA
JAVA RMI
ONC(SUN)
RPC
WEB
SERVICES
1. Data Encoding
Common Data
Representation
(CDR)
Serialized
Java/CDR
Extended Data
Representation
(XDR)
XML (WS-I docliteral, SOAP
Encoding)
2. Message Format
IIOP (GIOP)
RMI
Protocol/IIOP
RPC RMS
SOAP
3. Transport Protocol
TCP
TCP
UDP TCP
HTTP
4. Description Language
CORBA IDL
Java
Interface/Class
RPC IDL
WSDL
5. Discovery Mechanism
COS Naming
RMI Registry
Undefined
UDDI
6. Invocation Method
CORBA RMI
Java RMI
(method call)
RPC
Undefined
Source: See [ 56], Page 4.
October 28, 2013
Megatrends in IT & Software Engineering Linkages-45
Example: Business to Business,
External Provider
Two enterprises: A & B
 4 Web Services
 3 WS from external providers
 4 Scenarios
Scenario 1 (S1):
S2
S3
S4

Enterprise B’s Purchasing accesses
Enterprise A’s Inventory Web
Service
Scenario 2 (S2):

S1
Enterprise A’s Accounting accesses
Payment Web Service
Scenario 3 (S3):

Both enterprises’ security access the
same authentication Web service
Scenario 4 (S4):

Enterprise B’s Production accesses
Logistics Web Service
Source: Mobility, Security and Web Services: Technologies and
Service-Oriented Architectures for a new Era of IT Solutions by Gerhard Wiehler, p. 101.
October 28, 2013
Megatrends in IT & Software Engineering Linkages-46
Issues/Constraints in Implementing
Web Services in Embedded Devices



Developers typically use an embedded Web
Server to remotely access services
running on their embedded device
Embedded Web Server should also be
extended to serve as a container for Web
Services
Container should be able to load Web
Services implemented in C and C++


C/C++ most common language for embedded
systems
Container should be able to load WS
implemented in embedded Java
Source: See [ 56], Page 4.
October 28, 2013
Megatrends in IT & Software Engineering Linkages-47
Issues/Constraints in Implementing
Web Services in Embedded Device

Web Server Footprint



Web Server that serves as container for WS must
be carefully designed/modified to make optimal
use of memory
A popular Web server like Apache would, in most
cases, be too large
Data Marshaling




Encoding and decoding routines used to marshal
or unmarshal XML encoded data within SOAP
messages must be carefully optimized
Need to strike the correct balance of space and
time utilization
Need to avoid consuming too much ROM, RAM, or
processor time
Optimized C language implementation of the
marshaling-unmarshaling library provides a
good solution
Reference: See [ 56].
October 28, 2013
Megatrends in IT & Software Engineering Linkages-48
Issues/Constraints in Implementing
Web Services in Embedded Device

Implementation Language


Most solutions for containers and services
depend on Java
A native (compiled) language
implementation doesn’t consume additional
ROM memory


Can facilitate the deployment of Java clients or
services
Modularity



Many solutions try to create modular
designs with a clean separation of interfaces
Interdependencies between modules
frequently exist, increasing the code
footprint
An embedded implementation must employ
strict layering to eliminate penalties for
capabilities. E.g. SSL, UDDI may not be
required
Reference: See [ 56].
October 28, 2013
Megatrends in IT & Software Engineering Linkages-49
SECTION 3C
DEVICE TO BUSINESS EXAMPLE
October 28, 2013
Megatrends in IT & Software Engineering Linkages-50
Device to Business Examples

Embedded systems are typically located in environments
where:






It is inconvenient to implement application provisioning
Difficult to obtain diagnostic information & other operational data
Web services make these activities manageable remotely plus
over the Web
Ex. 1: An automotive telematics device could:


Wirelessly connect to a telematics service provider and
Fetch route updates for turn-by-turn navigation


Fleet tracking
Vehicle diagnostics

Deploy HVAC (Heating, Ventilating, Air Conditioning) control
devices in hundreds of stores
Securely control all those devices over the Internet, from a central
location
Ex 2: Courier companies could perform specialized tasks
Ex. 3: A retail chain could:

References: See [ 56]
October 28, 2013
Megatrends in IT & Software Engineering Linkages-51
Requirements for Device-to-Business
Integration Infrastructure





Web Services Support

Common denominator for all participating devices in SOA

E.g. on shop floor, thousands of events are generated during normal
operation
Event Driven Architecture (EDA)
Service Lifecycle Management



Need to administrate services during entire lifecycle
Start/stop services
Configuration & parameterization of running services

Device-level events can be actively integrated & evaluated during
execution of business process
Business Process Modeling
Intermittent Connected Assets


Oftentimes devices connect only occasionally to the back-end system
or suffer sudden disconnections
Business Process Monitoring

Deals with proactive and process-oriented monitoring of company’s
core business processes
Reference: See [ 55].
October 28, 2013
Megatrends in IT & Software Engineering Linkages-52
Requirements for Device-to-Business
Integration Infrastructure
 Alerting

Important especially for mission-critical devices


Need to filter information from devices into back-end services
E.g. Maintenance, Repair and Overhaul (MRO)


OASIS standards
Devices Profile for Web Services (DPWS)
 Defines a minimal set of implementation constraints to enable
secure Web Service messaging, discovery, description, and
eventing on resource-constrained devices
B2MML (Business to Manufacturing Markup Language)
 Multi-faceted Enterprise Services
 Standardized Communication & Information Exchange

 Access to Device Status


Rich interface to device status is necessary
Options that can configure or even allow code to be downloaded to
the device are required
Reference: See [ 55].
October 28, 2013
Megatrends in IT & Software Engineering Linkages-53
Sample Architecture for Device to
Business
 Goal is to integrate
device-level services
 Integrate with enterprise
software
 Enterprise software uses
Web Services technology
 3 Layers
1. Device Layer
2. Composition Layer
3. Middleware Layer
Reference: See [ 55].
October 28, 2013
Megatrends in IT & Software Engineering Linkages-54
Architecture for Device to Business
Reference: See [ 55].
October 28, 2013
Megatrends in IT & Software Engineering Linkages-55
Sample Architecture:Device Layer






Devices of manufacturing &
process automation shop floor
are represented in the device
layer
Smart networked devices
expose functionality directly as
Web Services
Use DPWS, DPWS-enabled
controllers
Could use legacy system
connectors
Messages may be exchanged via
peer-to-peer network
Landscape of devices highly
heterogeneous
Reference: See [ 55].
October 28, 2013
Megatrends in IT & Software Engineering Linkages-56
Sample Architecture:Composition Layer




Intermediate systems that
provide compound services
Compound services by
combining capabilities of smart
devices
Compound systems are flexible
& agile
Also provides connection of
legacy devices that do not
provide Web Services support
Reference: See [ 55].
October 28, 2013
Megatrends in IT & Software Engineering Linkages-57
Sample Architecture: Middleware Layer


Connects device layer and
composite layer with the
application layer
Provides Device Abstraction





Connects devices with enterprise
applications in transparent way
Provides facilities for
asynchronous and synchronous
communications
Propagation of events and
connecting to different device
protocols
Provides legacy support to
support legacy devices
Provides System Management



Service Lifecycle management
Monitoring of device status
Service discovery
Reference: See [ 55].
October 28, 2013
Megatrends in IT & Software Engineering Linkages-58
Sample Architecture:Application Layer

Contains applications traditionally
connected to lower layers


Also apps that do not connect to
lower layers





E.g. Supervision of shop floor, ERP
E.g. Business applications such as
ERP
E.g. Operational Management
Enterprise services available to
support enterprise applications
Business Process Engine processes
business processes
Management Interfaces provides
supervision of shop floor
Reference: See [ 55].
October 28, 2013
Megatrends in IT & Software Engineering Linkages-59
SECTION 4
THOUGHTS ON SOFTWARE
ENGINEERING ECONOMICS
October 28, 2013
Megatrends in IT & Software Engineering Linkages-60
Operational Benefits of Reuse

In resource-limited situations,
every organization must decide
how to allocate its limited
resources to produce a certain
set of outputs [11]

Production-Possibility
Frontier Curve (W.C. Lim)
 Shows the organization’s
menu of choices for
quality and productivity
 A concave curve viewed
from the origin
 Assumes that the resources
of the organization are fully
and efficiently employed
Tradeoff between quality and productivity.
[11]
Source: W.C. Lim, Managing Software Reuse,
October 28, 2013
Prentice Hall, 1998, p. 108
Megatrends in IT & Software Engineering Linkages-61
Operational Benefits of Reuse




With reuse, note shift of
the production-possibility
frontier to the right
Illustrates that with reuse
a higher level of quality
can be achieved with the
same level of productivity
Similarly, a higher level
of productivity can be
achieved with the same
level of quality
Simultaneous increase in
quality and productivity
Reuse allows increased quality and /or productivity levels.
Source: W.C. Lim, Managing Software Reuse, Prentice Hall, 1998, p. 109
October 28, 2013
Megatrends in IT & Software Engineering Linkages-62
SECTION 5
SUMMARY
October 28, 2013
Megatrends in IT & Software Engineering Linkages-63
Final Thoughts
1. There are significant trends and driving forces that will
affect the future of engineering and indeed society
2. Smart Machines may be the next “disruptive”
technology although there are competing and
complementary driving forces
3. Software engineering will continue to play an increasing
role in the advancement of technology
4. Mobility is a trend that will impact the continued
proliferation of embedded devices
5. We have to be concerned about privacy & security
6. SOA/Web Services will continue to play a significant role
October 28, 2013
Megatrends in IT & Software Engineering Linkages-64
REFERENCES
October 28, 2013
Megatrends in IT & Software Engineering Linkages-65
References
1.
2.
3.
4.
5.
6.
7.
8.
9.
10.
11.
12.
13.
14.
15.
16.
17.
18.
19.
20.
21.
B.W. Boehm and C. Gacek, “Composing Components: How Does One Detect Potential Architectural Mismatches?,” USC
Center for Software Engineering, Los Angeles, CA, 1999.
B.W. Boehm and W.L. Scherlis, “Megaprogramming,” Proceedings of the DARPA Software technology Conference, April 1992
(available via USC Center for Software Engineering, Los Angeles, CA, 90089-0781).
B.W. Boehm, Software Engineering Economics, Prentice Hall, Englewood Cliffs, N.J., 1981.
B.W. Boehm, C. Abts, A.W. Brown, S. Chulani, B.K. Clark, E. Horowitz, R. Madachy, D. Reifer, and B. Steece, Software Cost
Estimation with COCOMO II, Prentice Hall, Upper Saddle River, N.J., 2000.
Carnegie Mellon University, Software Engineering Institute (M.C. Pauk, C.V. Weber, B. Curtis, and M.B. Chrissis). The
Capability Maturity Model: Guidelines for Improving the Software Process, Addison-Wesley, 1999.
F. DeRemer and H.H. Kron. “Programming –in-the-large versus programming-in-the-small,” IEEE Transactions on Software
Engineering, SE-2(2), June 1976, pp. 80-86.
D. Garlan, R. Allen, and J. Ockerbloom. “Architectural Mismatch: Why Reuse Is So Hard,” Software, IEEE Computer Society,
November 1995, pp. 17-26.
E.M. Hall, Managing Risk: Methods for Software Systems Development, Addison-Wesley, 1998.
W.S. Humphrey, Managing the Software Process, Addison-Wesley, 1989.
I.M. Jacobson and P. Jonsson, Software Reuse: Architecture, Process, and Organization for Business Success, AddisonWesley, 1997.
W.C. Lim, Managing Software Reuse, Prentice Hall, 1998
S. Vinoski, “CORBA: Integrating Diverse Applications Within Distributed Heterogeneous Environments,” IEEE Transactions on
Software Engineering, 1996.
D. J. Reifer, Making the Software Business Case, Addison-Wesley, Upper Saddle River, N.J., 2000.
J.S. Poulin, Measuring Software Reuse: Principles, Practices, and Economic Models, Addison-Wesley, 1997.
D.J. Reifer, Practical Software Reuse, John Wiley & Sons, 1997.
C.K. Prahalad and G. Hatmel “The Core Competence of the Corporation,” Harvard Business Review, May-June, 1990.
B.W. Boehm, “Software Risk Management: Principles and Practices,” IEEE Transactions on Software Engineering, January
1991, pp. 32-41.
M. Shaw and D. Garlan, Software Architecture: Perspectives On An Emerging Discipline, Prentice Hall, Upper Saddle River,
N.J., 1996.
C.J. Date, An Introduction to Database Systems Volume II, Addison-Wesley, 1983.
R.N. Taylor, N. Medvidovic, K.M. Anderson, E. J. Whitehead Jr., J.E. Robbins, K.A. Nies, P. Oreizy, and D. L. Dubrow, “A
Component-and Message-Based Architectural Style for GUI Software.” (Not published in any paper)
D. E. Perry, “Generic Architecture Descriptions for Product Lines,” Bell Laboratories, Murray Hill, N.J. (Not published in any
paper)
October 28, 2013
Megatrends in IT & Software Engineering Linkages-66
References
22.
23.
24.
25.
26.
27.
28.
29.
30.
31.
32.
33.
34.
35.
36.
37.
38.
39.
40.
41.
R. T. Fielding, “Software Architectural Styles for Network-based Applications,” University of California, Irvine, July 15, 1999.
B.W. Boehm and T.A. Standish, “Software Technology in the 1990’s: using an evolutionary paradigm,” Computer, vol. 16,
pp. 30-7, 1983.
“Failed technology projects(The Standish Group Report),” in Investor’s Business Daily. Los Angeles, Jan. 1995, pp. A8.
B. Bongard, B. Gronquist, and D. Ribot, "Impact of Reuse on Organizations," Cap Gemini Innovation, Esprit project REBOOT,
Grenoble, France, Sept. 4, 1992.
N. Buxton and R. Malcolm, "Software technology transfer," Software Engineering journal, vol. 6, no.1, pp. 17-23, Jan., 1991.
G. Caldiera, "Domain Factory and Software Reusability," Software Engineering Symposium: New Frontiers for Software
Maintenance, May, 1991.
T. Durek, "Strategies and Tactics for Software Reuse Tutorial," presented at Improving the Software Process and Competitive
Position via Software Reuse and Reengineering, Alexandria, V A, 1991.
R. Holibaugh, s. Cohen, K. Kang, and S. Peterson, "Reuse: where to begin and why," Proceedings. TRI-Ada '89, pp. 266-77,
Oct. 23-26,1989.
R. Joos, "Software Reuse in an Industrial Setting," 4th Annual Workshop on Software Reuse, Nov.18-22, 1991.
D. Parkhill, "Object-oriented technology transfer: techniques and guidelines for a smooth transition," Object Magazine, pp.
57-59, May/June, 1992.
R. Prieto-Diaz, "Making software reuse work: an implementation model," SIGSOFT Software Engineering Notes, vol. 16,
no.3, pp. 61-8, July, 1991.
"Reuse adoption guidebook," Software Productivity Consortium, Hemdon, VA, SPC-92051-CMC, Version 01.00.03, Nov.,
1992.
"Software Reuse Guidelines," U.S. Army Information Systems Engineering Command (USAISE), ASQB-GI-90-015, Apr .,
1990.
B. Whittle, W. Lam, and T. Kelly, “ A pragmatic approach to reuse introduction in an industrial setting," Systematic Reuse:
Issues in Initiating and Improving a Reuse Program. Proceedings of the International Workshop on Systematic Reuse, pp.
104-15, 1996.
T. J. Biggerstaff, " An Assessment and Analysis of Software Reuse " in Advances in Computers, vol. 34, M. C. Yovits, Ed.,
New York, N. Y .: Academic Press, 1992
T. Davis, "Adopting a policy of reuse," IEEE Spectrum, vol. 31, pp. 44-8, June 1994.
W. B. Frakes and C. J. Fox, "Sixteen questions about software reuse," Communications of the ACM, vol. 38, pp. 75-87, 112,
June 1995.
A. J. Incorvaia, A. M. Davis, and R. E. Fairley, "Case studies in software reuse," presented at Fourteenth Annual International
Computer Software and Applications Conference (Cat. No.90CH2923-1 ), 1990.
R. M. Sonnemann, "Exploratory study of software reuse success," Ph.D. dissertation, Dep. Engineering, George Mason
University, Fairfax, VA, 1996.
E.M. Rogers, Diffusion of Innovations, Simon & Schuster, 1995.
October 28, 2013
Megatrends in IT & Software Engineering Linkages-67
References
41.
42.
43.
44.
45.
46.
47.
48.
49.
50.
51.
52.
53.
54.
55.
56.
57.
58.
59.
B.W. Boehm, Competing on Schedule, Cost, and Quality : The Role of Software Models, USC Center for Software
Engineering, August, 2001.
C.J. Date, An Introduction to Database Systems Volume II, Addison-Wesley, 1983.
A. S. Tanenbaum, Distributed Operating Systems, Prentice Hall, 1995.
T. B. Bollinger and S. L. Pfleeger, "The Economics of Software Reuse," Contel Technology Center, Chantilly, VA, Tech. Report
CTC-TR-89-014, Dec. 13, 1989
J. E. Gaffney and T. A. Durek, "Software Reuse-Key to Enhanced Productivity: Some Quantitative Models,” Software
Productivity Consortium, Herndon, V A, Tech. Report SPC- TR-88-015, Apr., 1988.
E. Guerrieri, L. A. Lashway, and T. B. Ruegsegger, "An Acquisition Strategy for Populating a Software Reuse Library,"
National Conference on Software Reusability, July 19-20, 1989.
W. C. Lim, “A Cost-Justification Model for Software Reuse," 5th Annual Work- this shop for Institutionalizing Software Reuse,
Oct. 26-29, 1992.
R. A. Malan and K. Wentzel, "Economics of Reuse Revisited," Hewlett Packard Laboratories, Palo Alto, CA, Technical Report,
HPL-93-31, Apr., 1993.
J. S. Poulin and J. M. Caruso, "A reuse metrics and return on investment model," Proceedings Advances in Software Reuse.
Selected Papers from the Second International Workshop on Software Reusability (Cat. No. 93THO495- 2), pp. 152-66, Mar.
24-26, 1993.
B. Bloom, Deploying and Managing Microsoft .NET Web Farms, Sams Publishing, 2001.
H. Taylor, “Service-Oriented Architecture (SOA) 101 ‘What’s Hype, What’s Real?’“, Juniper Networks, Inc.,2007.
Wiehler, Gerard. Mobility, Security and Web Services: Technologies and Service-Oriented Architectures for a new Era of IT
Solutions. Publicis Corporate Publishing, 2004.
Pulier, Eric and Hugh Taylor. Understanding Enterprise SOA. Manning Publications Co., 2006.
G. B. Machado, F. Siqueira, R. Mittmann, C. A. Vieira e Vieira. “Embedded Systems Integration Using Web Services∗,”
Proceedings of the International Conference on Networking, International Conference on Systems and International
Conference on Mobile Communications and Learning Technologies (ICNICONSMCL’06),0-7695-2552-0/06,IEEE Computer
Society, 2006.
S. Karnouskos, O. Baecker, L. M. S. de Souza, and P. Spie. “Integration of SOA-ready Networked Embedded Devices in
Enterprise Systems via a Cross-Layered Web Service Infrastructure,” 12th IEEE Conference on Emerging Technologies and
Factory Automation, September 25-28, 2007, Patras, Greece.
S. Furr. “Implementing Web Services in Embedded Systems,” Embedded Systems Conference Boston Class #206, QNX
Software Systems, 2004.
K.C. Thramboulidis, G. Doukas, G. Koumoustos. “An SOA-Based Embedded Systems Development Environment for Industrial
Automation,” EURASIP Journal on Embedded Systems, Volume 2008, Article ID 312671.
J. Canosa, “Embedded System Design,” Embedded.com, 02/01/02.
R. Heffner, “Embedded SOA Management Solutions,” Forrester Research, Inc., October 22, 2007.
October 28, 2013
Megatrends in IT & Software Engineering Linkages-68
References
60.
Cooney, Michael. “Gartner: The Top 10 IT-altering predictions for 2014.” InfoWorld, October 9, 2013. Source URL is
http://www.infoworld.com/t/it-management/gartner-the-top-10-it-altering-predictions-2014-228419?page=0,2
October 28, 2013
Megatrends in IT & Software Engineering Linkages-69
Download