background preloader

Application Development

Facebook Twitter

NLM APIs. An Application Programming Interface (API) is a set of routines that an application uses to request and carry out lower-level services performed by a computer's operating system. For computers running a graphical user interface, an API manages an application's windows, icons, menus, and dialog boxes. We invite you to develop computer and mobile applications using National Library of Medicine (NLM) resources. We request that any application that makes use of NLM data include the following statement: Service-oriented architecture. See also the client-server model, a progenitor concept A Service-Oriented Architecture (SOA) is a design pattern in which software/application components provide services to other software/application components via a protocol, typically over a network and in a loosely-coupled way.

Service-oriented architecture

Service Component Architecture. Service Component Architecture (SCA) is a software technology created by major software vendors including IBM, Oracle and TIBCO.

Service Component Architecture

SCA provides a model for composing applications that follow Service-Oriented Architecture principles.[1] The technology encompasses a wide range of disparate technologies and as such is specified in various independent specifications in order to maintain programming language and application environment neutrality.[1] Partners[edit] Partner vendors include: Supporters[edit] WebSphere Application Server V7 Feature Pack for Service Component Architecture - FAQ. What is Service Component Architecture?

WebSphere Application Server V7 Feature Pack for Service Component Architecture - FAQ

Service Component Architecture (SCA) was conceived through industry collaboration to provide a language-neutral programming model for building applications based on Service Oriented Architecture. First published in 2005, the Open SOA Collaboration ( finalized the SCA 1.0 specification and submitted to OASIS for standardization in March 2007. The SCA programming model benefits architectures where business function is partitioned as a set of services. These services are then assembled into solutions called composite applications to address a particular business need.

In addition to providing a model to compose services, SCA can be utilized in the creation of service components to be used in composite applications. Open SOA Collaboration. Last month an alliance of leading vendors announced progress on specifications to define a language-neutral programming model for application development in SOA environments. They call this specification Open SOA Collaboration. OASIS (organization) The Organization for the Advancement of Structured Information Standards (OASIS) is a global consortium that drives the development, convergence, and adoption of e-business and web service standards.

OASIS (organization)

With its headquarters in the United States, members of the consortium decide how and what work is undertaken through an open, democratic process.[1] Technical work is being carried out under the following categories: Web Services, e-Commerce, Security, Law & Government, Supply Chain, Computing Management, Application Focus, Document-Centric, XML Processing, Conformance/Interop, and Industry Domains. OASIS. OASIS SOA Reference Model. A reference model in systems, enterprise, and software engineering is an abstract framework for understanding significant relationships among the entities of some environment, and for the development of consistent standards or specifications supporting that environment.

OASIS SOA Reference Model

A reference model is based on a small number of unifying concepts and may be used as a basis for education and explaining standards to a non-specialist. A reference model is not directly tied to any standards, technologies or other concrete implementation details, but it does seek to provide a common semantics that can be used unambiguously across and between different implementations. The Reference Model for SOA is a lexicon that captures the style of architecture known as SOA. Description[edit] History[edit] Advancing open standards that simplify SOA application development. Aspect-oriented programming.

AOP includes programming methods and tools that support the modularization of concerns at the level of the source code, while "aspect-oriented software development" refers to a whole engineering discipline.

Aspect-oriented programming

Logging exemplifies a crosscutting concern because a logging strategy necessarily affects every logged part of the system. Logging thereby crosscuts all logged classes and methods. History[edit] AOP has several direct antecedents A1 and A2:[1] reflection and metaobject protocols, subject-oriented programming, Composition Filters and Adaptive Programming.[2] Gregor Kiczales and colleagues at Xerox PARC developed the explicit concept of AOP, and followed this with the AspectJ AOP extension to Java.

The Microsoft Transaction Server is considered to be the first major application of AOP followed by Enterprise JavaBean.[3][4] Motivation and basic concepts[edit] AspectJ Development Tools (AJDT) Integrated development environment. An integrated development environment (IDE) or interactive development environment is a software application that provides comprehensive facilities to computer programmers for software development.

Integrated development environment

An IDE normally consists of a source code editor, build automation tools and a debugger. Most modern IDEs offer Intelligent code completion features. Overview[edit] One aim of the IDE is to reduce the configuration necessary to piece together multiple development utilities, instead providing the same set of capabilities as a cohesive unit. Reducing that setup time can increase developer productivity, in cases where learning to use the IDE is faster than manually integrating all of the individual tools. While most modern IDEs are graphical, text-based IDEs such as Turbo Pascal were in popular use before the widespread availability of windowing systems like Microsoft Windows and the X Window System (X11). History[edit] IDEs initially became possible when developing via a console or terminal. Eclipse.

Java - eclipse view classes dependency graph plugin. Osx - Open multiple Eclipse workspaces on the Mac. Java (programming language) Duke, the Java mascot Sun Microsystems released the first public implementation as Java 1.0 in 1995.[1] It promised "Write Once, Run Anywhere" (WORA), providing no-cost run-times on popular platforms.

Java (programming language)

Fairly secure and featuring configurable security, it allowed network- and file-access restrictions. Major web browsers soon incorporated the ability to run Java applets within web pages, and Java quickly became popular. With the advent of Java 2 (released initially as J2SE 1.2 in December 1998 – 1999), new versions had multiple configurations built for different types of platforms. For example, J2EE targeted enterprise applications and the greatly stripped-down version J2ME for mobile applications (Mobile Java). On November 13, 2006, Sun released much of Java as free and open source software, (FOSS), under the terms of the GNU General Public License (GPL). There were five primary goals in the creation of the Java language:[23]

The switch Statement (The Java™ Tutorials > Learning the Java Language > Language Basics) Unlike if-then and if-then-else statements, the switch statement can have a number of possible execution paths.

The switch Statement (The Java™ Tutorials > Learning the Java Language > Language Basics)

A switch works with the byte, short, char, and int primitive data types. It also works with enumerated types (discussed in Enum Types), the String class, and a few special classes that wrap certain primitive types: Character, Byte, Short, and Integer (discussed in Numbers and Strings). The following code example, SwitchDemo, declares an int named month whose value represents a month. The code displays the name of the month, based on the value of month, using the switch statement.

Concurrency (The Java™ Tutorials > Essential Classes) Computer users take it for granted that their systems can do more than one thing at a time.

Concurrency (The Java™ Tutorials > Essential Classes)

They assume that they can continue to work in a word processor, while other applications download files, manage the print queue, and stream audio. Even a single application is often expected to do more than one thing at a time. For example, that streaming audio application must simultaneously read the digital audio off the network, decompress it, manage playback, and update its display.

Even the word processor should always be ready to respond to keyboard and mouse events, no matter how busy it is reformatting text or updating the display. Software that can do such things is known as concurrent software. The Java platform is designed from the ground up to support concurrent programming, with basic concurrency support in the Java programming language and the Java class libraries.

JUnit. Copyright © 2007, 2008, 2009, 2010, 2011, 2012 Lars Vogel Unit testing with JUnit This tutorial explains unit testing with JUnit 4.x. It explains the creation of JUnit tests and how to run them in Eclipse or via own code. This tutorial is part of this Kindle book: 1. Collection. HCI. Web development. Web development is a broad term for the work involved in developing a web site for the Internet (World Wide Web) or an intranet (a private network).

Web development can range from developing the simplest static single page of plain text to the most complex web-based internet applications, electronic businesses, and social network services. Web application framework. History[edit] Around the same time, full integrated server/language development environments first emerged, such as WebBase and new languages specifically for use in the web started to emerge, such as ColdFusion, PHP and Active Server Pages. Types of framework architectures[edit] Most web application frameworks are based on the model–view–controller (MVC) pattern.

Model–view–controller (MVC)[edit] Ruby on Rails. Ruby on Rails. Spring Framework. The Spring Framework is an open source application framework and inversion of control container for the Java platform. The framework's core features can be used by any Java application, but there are extensions for building web applications on top of the Java EE platform.

Although the framework does not impose any specific programming model, it has become popular in the Java community as an alternative to, replacement for, or even addition to the Enterprise JavaBean (EJB) model. Version history[edit] JavaScript. Orion: Tools for the web, on the web. Driving Simulation. Advanced Driving Simulators developed by Tecknotrove bus simulator used for training & assessment of bus drivers on Fuel Efficient Driving. STISIM Drive® 2011. Programming languages. The earliest programming languages preceded the invention of the digital computer and were used to direct the behavior of machines such as Jacquard looms and player pianos.[1] Thousands of different programming languages have been created, mainly in the computer field, and many more still are being created every year. Google programming languages failing to gain traction.

TIOBE Software: Tiobe Index. Apple. Develop for Mac OS X. Cocoa Frameworks Cocoa is an extremely productive high-level programming environment that gives you complete access to the full power of the operating system, including the signature Mac look and feel. Developer Tools Overview. How to make your own Dashboard Widget with Dashcode. Source code repository. Log In to SourceForge. Crowd soucing internet marketplace. Amazon Mechanical Turk. Amazon Mechanical Turk - Welcome. Security. Secure coding. Secure Coding. MapReduce. Welcome to Hadoop™ MapReduce! Performance.