06.09.2021 Views

Education for a Digital World Advice, Guidelines and Effective Practice from Around Globe, 2008a

Education for a Digital World Advice, Guidelines and Effective Practice from Around Globe, 2008a

Education for a Digital World Advice, Guidelines and Effective Practice from Around Globe, 2008a

SHOW MORE
SHOW LESS

You also want an ePaper? Increase the reach of your titles

YUMPU automatically turns print PDFs into web optimized ePapers that Google loves.

19 – Building Communities of <strong>Practice</strong><br />

effective sharing of in<strong>for</strong>mation between groups, SOA<br />

can help define the relationship between the user <strong>and</strong><br />

the software application. 59<br />

Flexibility, rapid development, <strong>and</strong> good scalability<br />

can be encouraged with the adoption of: a common notation<br />

(UML), <strong>and</strong> a defined data model (XML). In its<br />

most basic <strong>for</strong>m, SOA is a technique <strong>for</strong> component<br />

software reuse (FastSOA, p. 84). The SOA design pattern<br />

is well suited to update data aggregation services<br />

<strong>and</strong> per<strong>for</strong>m complex federated service requests (Fast<br />

SOA, p. 65). This task is not easily achieved in more<br />

structured languages such as SQL.<br />

Simple object access protocol<br />

Mid-tier processing is used to address the difficulties<br />

that arise when flexible XML technology is merged with<br />

a relational database management system (RDBMS).<br />

Common techniques <strong>for</strong> mapping data <strong>from</strong> XML files<br />

to database storage systems use the simple object access<br />

protocol (SOAP), which “allows us to pass structured,<br />

typed data in a decentralized, distributed environment”<br />

(Lecky-Thompson et al., 2005).<br />

The SOAP—remote procedure call (RPC) uses exponentiated<br />

encoding to map XML data structures to<br />

data objects located within trusted memory resources<br />

allocated to programming languages. As a result,<br />

“SOAP-RPC bindings instantiate up to 15,000 Java objects<br />

to deserialize the SOAP request that contain 500<br />

elements in the SOAP message body.” (Perkins et al., p.<br />

274).<br />

The complex auto-binding ability that maps XML<br />

content to database storage (XML-RPC) should be used<br />

sparingly as files over 96kbs can have a dramatic impact<br />

on CPU <strong>and</strong> network b<strong>and</strong>width (FastSOA, p. 69). Alternatively,<br />

XML documents can be encoded literally,<br />

using SOAP-document-literal-encoding. SOAP-documentliteral-encoding,<br />

however, does not allow you finegrained<br />

control over the data source <strong>from</strong> Java.<br />

Java <strong>and</strong> the Enterprise Java Bean<br />

EJB st<strong>and</strong>s <strong>for</strong> “Enterprise JavaBeans” which are<br />

distributed network-aware components <strong>for</strong> developing<br />

secure, scalable, transactional <strong>and</strong> multiuser<br />

components in a J2EE environment. (Sun Microsystems,<br />

2007)<br />

59<br />

This relationship between the user interface <strong>and</strong> software<br />

application is defined by Bieberstein et al., as the Human<br />

Service Bus; an optimized organizational structure designed<br />

to meet the needs of the on-dem<strong>and</strong> business environment<br />

(p. 698).<br />

Java <strong>and</strong> PHP are both programming languages. Languages<br />

have advantages over document parsers when<br />

supplying complex mathematical <strong>and</strong> functional routine<br />

libraries. These libraries send requests <strong>for</strong> computer<br />

processing resources. For Java languages, this request is<br />

created within a Java container. The container often<br />

used <strong>for</strong> Java server page content is Project Catalina<br />

(Tomcat). Tomcat runs these libraries by establishing a<br />

trusted set of memory resources on the computer plat<strong>for</strong>m.<br />

Trust is established within Java by using defined<br />

functional components as described by the Technology<br />

compatibility kits (TCK) developed through the Java<br />

community process (Dmitry A. Fazunenko, JDJ, p. 26).<br />

These technology compatibility kits (TCK) are distributed<br />

using the XML data model. TCKs ensure that vital<br />

in<strong>for</strong>mation is distributed <strong>for</strong> the con<strong>for</strong>mance testing<br />

of components such as the Enterprise JavaBeans (EJB),<br />

<strong>and</strong> are available upon subscription <strong>from</strong> Sun Microsystems.<br />

The trusted memory resources restrict Java <strong>from</strong> accessing<br />

external resources. EJBs provide access to those<br />

restricted resources. This access is secured through<br />

highly defined relationships that coordinate <strong>and</strong> facilitate<br />

the transmission of in<strong>for</strong>mation between the programming<br />

language <strong>and</strong> networking infrastructure. In<br />

other words, Enterprise JavaBeans can be described as a<br />

set of components that help to define a collection of<br />

properties (classes) <strong>and</strong> access points (interfaces) used to<br />

enhance interaction between the system <strong>and</strong> user.<br />

LearningTimes, a web application, is one such example<br />

of a Java based community application. This application<br />

is built on open source (CommunityZero)<br />

technology <strong>and</strong> uses highly structured database technology<br />

distributed across multiple servers <strong>and</strong> multiple<br />

locations to offer secure, scalable, <strong>and</strong> reliable services.<br />

XML document parsers<br />

Data can be referenced, recorded, <strong>and</strong> organized using<br />

less complex <strong>and</strong> more flexible tools available in native-<br />

XML document parsers such as the document object<br />

model (DOM), streaming API <strong>for</strong> XML (StAX), or Java<br />

architecture <strong>for</strong> XML Binding (JAXB) to name just a<br />

few. XML document parsers work alongside your webserver<br />

(Apache, IIS, Lighttpd [Lighty], Cherokee) to<br />

organize data using arithmetic operators (addition/subtraction<br />

<strong>and</strong> multiplication/division) without<br />

the processor-intensive mathematical libraries available<br />

to Java, Perl, Ruby, or Python.<br />

Although a detailed explanation of document parsers<br />

is beyond the scope of this chapter, the above document<br />

parsers provide access to objects <strong>from</strong> within program-<br />

<strong>Education</strong> <strong>for</strong> a <strong>Digital</strong> <strong>World</strong> 297

Hooray! Your file is uploaded and ready to be published.

Saved successfully!

Ooh no, something went wrong!