Software – Part 3 V.T. Raja, Ph.D., Information Management College of Business Oregon State University.
Published byModified over 6 years ago
Presentation on theme: "Software – Part 3 V.T. Raja, Ph.D., Information Management College of Business Oregon State University."— Presentation transcript:
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.
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 db Distributed Computing Middleware
Middleware (Continued) ORB architecture: ORB Client Remote Service locate service activate service establish connection communicate
Middleware (Continued) File sharing using Napster: ORB Request Stored Files locate service activate service establish connection 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.
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: this is an example this is in bold this is in italics this is in bold italics
XML XML example: This is a person, whose first name is 'Joe,' and whose last name 'Smith.' This person is a teacher. Joe Smith teacher 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
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