180 likes | 289 Views
Software – Part 3. V.T. Raja, Ph.D., Information Management College of Business Oregon State University. Outline Recent/Current Trends in Software. Java Open Source Software Visual and Markup Languages (e.g., Visual Basic, Visual C++, HTML) Object Oriented Programming Middleware
E N D
Software – Part 3 V.T. Raja, Ph.D., Information Management College of Business Oregon State University
Outline Recent/Current Trends in Software • Java • Open Source Software • Visual and Markup Languages (e.g., Visual Basic, Visual C++, HTML) • Object Oriented Programming • Middleware • Enterprise Resource Planning (ERP) • Web Services and Service-Oriented Architecture (SOA) • Other Trends • Selecting Software
Object Oriented Programming Employee (Object/Class) Name (Variable) ID (Variable) Pay (Method/Procedure) Non-Salaried Employee (Subclass of employee) Name (Inherited variable) ID (Inherited variable) Hourly rate (variable) Pay (Method Adaptation/Override)
Object Oriented Programming • Encapsulation • The process of grouping variables, procedures and data into objects (Classes) is called encapsulation. • Inheritance • Child objects inherit from parent object • Reusability of code (advantage of OOP) • UML – Unified Modeling Language: • A language for modeling a complex object-oriented software system – think of it as a blueprint (for the entire system) that documents the objects, variables, and the relationship between different objects.
Distributed Computing Middleware db db db db Middleware • Software that makes it possible for systems on different platforms to communicate with each other. • Allows applications to talk to each other • Consistent Application Program Interface (API) • Code application to talk to middleware, not underlying resources • Upgrade/modify underlying resources without needing to modify applications
Middleware(Continued) • ORB architecture: ORB activate service locate service establish connection Remote Service Client communicate
Middleware(Continued) • File sharing using Napster: ORB activate service locate service establish connection Stored Files Request communicate
Some Benefits of Middleware • Anonymous interaction among applications • Integrate new client/server applications with existing legacy, mission-critical applications • Easier development environment • Reduce cost • Improve time-to-market of applications • Enables distributed data environment • Popularity of ERP
Some Disadvantages of Middleware • Rapidly changing technologies • Switching costs are high • Upgrade from previous “Middleware” solutions • Requires high technical expertise • Tend to outsource • Lengthy deployment time • Security
Web Services • Refers to a set of loosely coupled software components that exchange information with each other using standard Web communication standards and languages.
Web Services – Foundations • XML– eXtensible Markup Language • SOAP– Simple Object Access Protocol • WSDL– Web Services Description Language • UDDI– Universal Description, Discovery, and Integration • Ajax - Asynchronous JavaScript and XML
XML • XML is a language for representing contents (compare with HTML which is a language for representing formatting instructions). • XML developed by W3C in 1996 • HTML example: • <title>this is an example</title> • <b>this is in bold</b> • <i>this is in italics</i> • <b><i>this is in bold italics</i></b>
XML XML example: This is a person, whose first name is 'Joe,' and whose last name 'Smith.' This person is a teacher. • <person> <name> <first>Joe</first> <last>Smith</last> </name> <profession>teacher</profession> </person> • Can define your own tags. • Easier to transfer data between different systems – because it is text based content
SOAP; WSDL • Simple Object Access Protocol • A set of rules for exchanging XML-based messages over computer networks. • Web Services Description Language • Common framework for describing the tasks performed by a Web Service and the commands and data it will accept so that it can be used by other applications
UDDI; SOA • Universal Description, Discovery, and Integration • Enables a web service to be listed in a directory of Web services so that it can be easily located. • Service Oriented Architecture • Self-contained services that communicate with each other to create a working software application • Amazon’s customer interface, customer service interface, seller interface, billing, etc. integrated
Ajax - (Asynchronous JavaScript and XML) • Mistake in filling out a Web Order Form (Don’t have to start all over again) • Click the North arrow once, and don’t have to wait for new page to load • Software technique that prevents these inconveniences by allowing client and server to hold a conversation in the background, transferring your entries as they are made to the server without your awareness.
Other Trends • Integration of hardware, software and telecommunications • Examples: Car navigation systems Smart Cards • Software Outsourcing • Application Service Provider (ASP) Model • Server Virtualization
Selecting software for an organization Some factors to consider: • Business need satisfied? • Platform independence/compatibility • (Open Systems; middleware tools) • Open Source/Proprietary • Off-the-shelf/Custom software • ASP Model/Software Outsourcing • Availability of documentation support • Availability of maintenance/vendor support • Cost/Budget? • (Licensing, End-user Training, Maintenance/Upgrades) • Reliability and Security