CSC/ECE 517 Fall 2009/wiki3 21 MobileDesignPattern

From Expertiza_Wiki
Revision as of 05:01, 18 November 2009 by Salt (talk | contribs) ("Clear out" old page while preserving items used for formatting the wiki)
Jump to navigation Jump to search

Design Pattern for Mobile Applications

Service Oriented Architecture 3 (or SOA) describes how to


!!!! Note: everything below this point is old and is so we can put in the proper formatting


An overview of the concepts

We created this simplified image to illustrate the basic principles of service oriented architectures.

  • Services may be used by multiple applications.
  • Services do not call on each other.
  • Services communicate via protocols.
  • An example protocol is provided, in which the application passes x to the Sin function, and Sin(x) is returned.
  • Because of the protocol link, services may be written in different programming languages, or even be hosted on different computers with different operating systems, which allows for great flexibility.

language. 7

  • Example: Metaprogramming in Ruby [2]
 class Person
   attr_accessor :name
 end


Conclusion

SOA is an evolution of distributed computing based on web services. It is an attractive solution for companies since it is platform independent allowing different software and hardware to communicate together easily.

Metaprogramming and reflection are programming styles used to take advantage of the features in dynamic programming languages. They provide a great advantage when used in the development of SOAs to allow the services to dynamically change and adapt to the messages being passed between services.

References

1. http://www.service-architecture.com/web-services/articles/service-oriented_architecture_soa_definition.html - Brief explanation of SOA

2. Thomas, Dave (2006). Programming Ruby, The Pragmatic Programmers' Guide.

10. Perrotta, Paolo (2009). Metaprogramming Ruby.