Pertemuan 11 Current Issues Mata kuliah: T0144 – Advanced Topics in Software Engineering Tahun:...

16

Transcript of Pertemuan 11 Current Issues Mata kuliah: T0144 – Advanced Topics in Software Engineering Tahun:...

Page 1: Pertemuan 11 Current Issues Mata kuliah: T0144 – Advanced Topics in Software Engineering Tahun: 2010.
Page 2: Pertemuan 11 Current Issues Mata kuliah: T0144 – Advanced Topics in Software Engineering Tahun: 2010.

Pertemuan 11Current Issues

Mata kuliah : T0144 – Advanced Topics in Software EngineeringTahun : 2010

Page 3: Pertemuan 11 Current Issues Mata kuliah: T0144 – Advanced Topics in Software Engineering Tahun: 2010.

3

Learning Outcomes

Pada akhir pertemuan ini, diharapkan :Mahasiswa dapat menghubungkan issue issue yang menjadi tantangan dalam Software Engineering dengan prinsip prinsip dasar yang sudah dibahas sebelumnya

Page 4: Pertemuan 11 Current Issues Mata kuliah: T0144 – Advanced Topics in Software Engineering Tahun: 2010.

4

Outline Material• Current Platforms

– Rich Internet Applications– Parallel Computing – Mobile Platforms

• ORM vs OODBMS• “New” Architectures

– Service Oriented Architecture – Web Service

Page 5: Pertemuan 11 Current Issues Mata kuliah: T0144 – Advanced Topics in Software Engineering Tahun: 2010.

Rich Internet Applications (RIA)• Limitations to the primitive web technologies and development

tools• User demands “rich” contents with more interactivity and

multimedia• Inadequacy of the basic HTTP/HTML model

Page 6: Pertemuan 11 Current Issues Mata kuliah: T0144 – Advanced Topics in Software Engineering Tahun: 2010.

Characteristics of RIA• Accessibility Ajax, being browser-native, is the only RIA framework that is

universally searchable, but Adobe Flash has now made some strides in this direction.

• Advanced communications with supporting servers can improve the user experience, for example by using optimised network protocols, asynchronous I/O and pre-fetching data (eg Google Maps). Accordingly, reliable broadband connections are often required.

• Complexity of advanced solutions can make them more difficult to design, develop, deploy and debug than traditional web applications (but typically less so than application software).

• Consistency of user interface and experience can be controlled across operating systems. Performance monitoring and fault diagnosis can be particularly difficult.

Page 7: Pertemuan 11 Current Issues Mata kuliah: T0144 – Advanced Topics in Software Engineering Tahun: 2010.

Characteristics of RIA (cont’d)• Installation and Maintenance of plug-ins, sandboxes or virtual machines is required

(but applications are smaller than their predecessors and updates are typically automated). Installation is typically faster than that of application software but slower than that of native web applications and automation may not be possible.

• Offline use may be supported by retaining state locally on the client machine, but developments in web standards (prototyped in Google Gears) have also enabled this for native web applications.

• Security can improve over that of application software (for example through use of sandboxes and automatic updates) but the extensions themselves are subject to vulnerabilities and access possible is often much greater than that of native web applications

• Performance can improve depending on the application and network characteristics. In particular, applications which can avoid the latency of round-trips to the server by processing locally on the client are often a lot faster. Offloading work to the clients can also improve server performance. Conversely the resource requirements can be prohibitive for small, embedded and mobile devices.

• Richness by way of features not supported natively by the web browser such as video capture (eg. Adobe Flash).

Page 8: Pertemuan 11 Current Issues Mata kuliah: T0144 – Advanced Topics in Software Engineering Tahun: 2010.

Emerging RIA Platforms• Adobe Flex• Microsoft Silverlight• JavaFX• HTML5 and Canvas

Page 9: Pertemuan 11 Current Issues Mata kuliah: T0144 – Advanced Topics in Software Engineering Tahun: 2010.

Parallel Computing• More and more computers are shipping with multiple

cores/CPU.• How to take advantage of the power?• Parallel computer programs are more difficult to write than

sequential ones, because concurrency introduces several new classes of potential software bugs, of which race conditions are the most common. Communication and synchronization between the different subtasks are typically one of the greatest obstacles to getting good parallel program performance.

Page 10: Pertemuan 11 Current Issues Mata kuliah: T0144 – Advanced Topics in Software Engineering Tahun: 2010.

Mobile Platforms• Explosion of “online” mobile devices

– Smartphones– Tablets– MIDs– Netbooks

• Mobile Platforms are inherently different to traditional platforms– Less power– Non-uniform hardware– Novel input methods (touch screen, motion sensors, etc)

Page 11: Pertemuan 11 Current Issues Mata kuliah: T0144 – Advanced Topics in Software Engineering Tahun: 2010.

ORM vs OODBMS Debate• OODBMS is a feasible solution for some applications• Still no real solution to the “impedance mismatch” issue• ORM is finally getting mainstream

– Hibernate– TopLink– Cayenne– JPA

• Tradeoffs

Page 12: Pertemuan 11 Current Issues Mata kuliah: T0144 – Advanced Topics in Software Engineering Tahun: 2010.

Service Oriented Architecture• SOA-based architecture will provide a loosely-integrated suite

of services that can be used within multiple business domains.• SOA also generally provides a way for consumers of services,

such as web-based applications, to be aware of available SOA-based services. – For example, several disparate departments within a company may

develop and deploy SOA services in different implementation languages, and their respective clients use a well understood, well defined interface to access them.

• Heavily hyped by vendors, but adoption is a bit hampered by the complexity.

Page 13: Pertemuan 11 Current Issues Mata kuliah: T0144 – Advanced Topics in Software Engineering Tahun: 2010.

SOA Example

Page 14: Pertemuan 11 Current Issues Mata kuliah: T0144 – Advanced Topics in Software Engineering Tahun: 2010.

SOA Services• Data as a Service• Software as a Service• Platform as a Service• Mashups (combined)

Page 15: Pertemuan 11 Current Issues Mata kuliah: T0144 – Advanced Topics in Software Engineering Tahun: 2010.

Web Services• Application Programming Interfaces (API) that can be accessed over a

network, such as the Internet, and executed on a remote system hosting the requested services.

• Refers to clients and servers that communicate over the Hypertext Transfer Protocol (HTTP) protocol used on the web.

• Such services tend to fall into one of two camps: – “Big Web Services” (traditional)

• Uses XML • via SOAP (Simple Object Access Protocol)• Defined using WSDL (Web Services Description Language)

– RESTful Web Services• Piggybacking on HTTP (PUT/GET/DELETE/POST)• Do not require WDSL or XML

Page 16: Pertemuan 11 Current Issues Mata kuliah: T0144 – Advanced Topics in Software Engineering Tahun: 2010.

16

References• Rich Internet Application

http://en.wikipedia.org/wiki/Rich_Internet_application• Parallel Computing

http://en.wikipedia.org/wiki/Parallel_computing• Service Oriented Architecture

http://en.wikipedia.org/wiki/Service-oriented_architecture• Web Service

http://en.wikipedia.org/wiki/Web_service