segunda-feira, 5 de março de 2012


 

2 - Basic Definitions 


3 - Series and Summary



4 - Master Method for Recurrences

 
5 - Converting a Mathematical Definition to a Method

Actually, value-producing recursive algorithms are almost identical to inductive definitions. In fact, creating a value-producing recursive algorithm may require little more than the writing down of the inductive definition.

We can first simply rearrange the parts into an algorithm statement:
    Algorithm factorial(n)
        if n less than or equal to 1
              then the answer is 1
              otherwise the answer is: n×factorial(n-1).

It is easy to see that this algorithm is a straightforward piece-by-piece rewriting of the inductive definition: every piece of the algorithm comes directly from the mathematical definition. The Java method for factorial can be derived just as easily from the algorithm:

    //method for class Calculator
    static int factorial(int n) {
        if (n <= 1)
            return 1;
        else return n * factorial(n - 1);
    }
Each component of the definition—and essentially nothing else—appears in the method. It is not uncommon for value-producing recursive algorithms to flow just as directly from the original definition of the needed result. Any mathematical function that can be defined inductively can be similarly translated into a recursive method. This transforms the problem from one of writing methods to solve problems to one of just defining the problem or the mathematical function.

The same approach will work for any inductively defined mathematical functions such as summation:











becomes:
    //method for class Calculator
    static int sum(int n) {
        if (n <= 1)
            return 1;
        else return n + sum(n - 1);
    }

And it gets better: this example extends directly—almost template-like—to any other summation equation. Thus, the sum of squares:




becomes:
    //method for class Calculator
    static int sumSquares(int n) {
        if (n <= 0)
            return 0;
        else return n*n + sumSquares(n - 1);
    }

Source: “Algorithms and Data Structure: The Science of Computing”

quinta-feira, 1 de março de 2012


Section 1 - The Value of SOA - Identify business functions where SOA can improve competitiveness and productivity. Identify how SOA can provide return on investment (ROI) (improve competitiveness, reduce costs, increase responsiveness.) Identify the SOA features that make businesses more agile. Identify the opportunity costs of not adopting SOA. Identify situations where SOA does not provide the desired value or is not appropriate. Identify the business drivers for SOA.

Section 2 - SOA Concepts - Define the concept of a service in SOA. Describe the architectural concepts used in SOA (for example: loose coupling and separation of concerns.) Describe the roles that XML plays in SOA. Describe the role of a service registry and/or repository in SOA. Explain what a business process is in the context of SOA (including business process management and automation) and how it facilitates business flexibility. Determine the role that technology standards (SOAP, WSDL, WS-Security, BPEL, WS-I, ) play in SOA. Describe the role that Web 2.0 and its related technologies play in SOA (for example: REST and AJAX.) Describe the importance of goals, KPIs, and measurement to business success with SOA.

Section 3 - Basic SOA Architecture - Describe the characteristics of a basic SOA architecture. Describe the elements of the IBM SOA Reference Architecture, and their roles and relationships. Describe the enterprise service bus (ESB) and its role in SOA. Describe the role of Web services and messaging in building an SOA. Describe orchestration of business processes using services and human interactions. Describe the stages of the SOA lifecycle (model, assemble, deploy, manage.)

Section 4 - SOA Management - Explain the need for SOA governance. Describe SOA governance and related concepts (roles and responsibilities, funding models, policies, enforcement, critical success factors, and metrics.) Describe Quality of Service (QoS) issues pertinent to SOA. Explain the need for a distributed security model (including issues like identify provisioning and propagation.) Identify the impact of changes to services in the SOA lifecycle (change management, versioning, and service lifecycle.) Identify the role of an enterprise service bus (ESB) in SOA management and governance. Identify service management issues.

Section 5 - Preparing for SOA - Describe the elements of SOA governance that need to be addressed during the preparation for SOA. Understand the importance of documenting business issues, drivers and goals when preparing for SOA. Capture and assess IT issues, drivers, and goals (including metrics and KPIs.) Describe the people, organizational, and technology factors that impact readiness for SOA and its success. Describe the steps for SOA adoption (including adoption roadmaps and maturity assessments.) Identify barriers to SOA adoption. Describe points of entry into SOA. Describe the importance of securing executive sponsorship and solving funding issues for SOA adoption.

I'm thankful to my new visitors around world, specially those from cities:
Mountain View CA, Tel Aviv, Bristol, Manila, Banja Luka, Stuttgart, Russian Federation, Lebanon, Helwan, Cali and Wieselburg.

Inscreva-se

Creative Commons 3.0. Tecnologia do Blogger.

Teste a Velocidade da Internet

Siga-me

Curta