We are witnessing a transformation in application development tools and techniques that is changing how enterprise software is being constructed and deployed. This transformation is the broadening of mobile application development approaches initially instigated by the mobile revolution (yes, the iPhone changed everything) to embrace initiatives for back-end Internet of Things architectures and even employee apps.
While the consumer app economy embraced these new tools and techniques rapidly in the last few years, enterprises have moved much more slowly. In the last couple of years however, enterprises have begun to get on the bandwagon.
To be sure, most enterprises will be running, maintaining, even enhancing old applications for a long time to come. IDC research over the years consistently shows that some 75% to 85% of development resources are used in maintaining existing applications. But for new projects and initiatives, it is becoming clear that we are in a different era, and enterprises are now mobilizing to leverage this new method of application development.
Here are 12 attributes that characterize the new mode of application development beginning to make inroads in enterprises:
Mobile: Supporting touch interaction and adaptability to a large range of screen sizes and pixel densities. Factoring application functions into simpler, shorter workflows. Factoring applications into many apps. Factoring systems into APIs and apps.
Cloud-Backed: Project assets stored in the cloud catalyze collaboration between stakeholders. Using cloud resources for testing. Using MBaaS services such as authentication and notification. Avoiding hardware provisioning. Adopting more abstract and machine-independent application models for back ends in the form of PaaS.
Agile: Incremental, frequent releases. Rapid response to change. Teams working in an integrated fashion. Collaboration with social tools, and integration of users into the development process, including frequent user validation.
Continuously Integrated and Delivered: Applications must be integrated to run daily. Heavy reliance on automated testing. Integration of testing into the development cycle, and frequent and incremental changes to application users, potentially while preserving a managed degree of generational compatibility.
DevOps-Enabled: Developers own deployment or work seamlessly with Ops staff to release, test, refine and rerelease applications to users. Using self-service portals to enable many stakeholders to participate and have accountability for the application. A view of the application life cycle that integrates its performance through delivery to the end user.
App Store Delivered and Extended: The app is delivered in an app store and/or uses modules or off-the-shelf components and services. Components and extensions are surfaced in module or app directories where they can be discovered and integrated.
Analytics Infused: Developers get rich intelligence on application usage. Data on app modules and screen elements are used. Fielding experiments and tests with automation and quick turnaround (e.g. A/B testing of planned features).
User Experience-Centric: Focusing on the design and appearance of the application that brings the front-end designer and/or application programmer into the enterprise development process more fully than ever before.
Socially Oriented: Integrating of user-interface patterns borrowed from social networks, such as timelines, event streams, social graphs and other social metadata. Data is updated using event-based push-oriented patterns. Integrated search functionality. Seamless support for content elements such as images and video. Integration with consumer or enterprise social networks.
API Factored and Surfaced: The move to APIs involves a comprehensive movement to componentize and granularize back-end software in order to achieve composable and easy-to-evolve back-end platforms. Today’s API architectures use standardized, loosely coupled and lightweight REST call formats to reduce complexity and maximize accessibility.
Lightweight: Less complex software that is less time-consuming to install, learn and use. Software that uses a smaller resource footprint—including on disk, memory and CPU—and enjoys quick startup and recycling times. The trend toward lightweight can be witnessed in both the tools sphere, such as the increased use of editors or online IDEs, and in deployment architectures, such as the use of Web Servers in place of App servers, the use of NoSQL in place of relational databases, and the use of containers (e.g. Docker) in place of virtual machines.
Model-Driven: Rich use of visual tools to support abstraction in the development toolset such as for relations in a data model, business logic flows, and process flows. Some tools rely entirely on such approaches to construct applications, while others use them selectively in domain-specific ways for building various parts of the application such as the user interface or process workflow.
These changes in the aggregate are as influential in evolving the state of enterprise applications as object orientation or distributed computing. While not all projects have all 12 ingredients, enterprises that can ascribe four or five of them to their new application efforts are definitely engaging in modern application development. IDC believes that some 60% to 80% of new application development initiatives support at least four of these characteristics.
Al Hilwa is an industry analyst at research firm IDC, specializing in application development research. He has written columns for tech publications and is widely quoted in the media, including the Financial Times, The Wall Street Journal, The New York Times, and National Public Radio. Prior to IDC, he spent seven years at Microsoft in the Server & Tools division, and five years as an industry analyst at Gartner specializing in database systems. Before Gartner, he worked in IT in various industries. He holds an MS in Computer Science and a BA in Mathematics and Computer Studies. You can follow him on Twitter at @AlHilwa.
- See more at: http://sdtimes.com/analyst-watch-12-characteristics-modern-application-development/#sthash.JyuEjXSQ.dpuf
Open Source Software: The Mega List A jaw-dropping 1,000+ open source software tools. Open source software for, well, everything: Desktop, security, multimedia, small businesses, enterprises, education....
December 19, 2012
By Cynthia Harvey
Throughout the year, Datamation publishes guides to open source software in a variety of different categories, such as security, cloud computing, big data, small businesses, mobility and even games. It's become an annual tradition to compile all those open source apps we've featured into one gigantic list.
Our 2012 guide is longer than ever before with a jaw-dropping 1000+ open source apps in all. As usual, we've divided the list into categories and then alphabetized the projects within each category.
Whether you're a long-time Linux fan or a Windows or OS X user who's curious about the open source phenomenon, you're sure to find something new, interesting and useful.
1. Edoceo Imperium
Designed for small and mediu…
Mengenal Fungsi Dan Komponen Panel Listrik Panel Listrik – Electrical switchboard atau lebih kita kenal dgn panel listrik terbentuk berdasarkan susunan komponen listrik yg sengaja disusun dalam sebuah papan control, sehingga dapat memudahkan penggunaanya. Tuk lebih mengenal fungsi dari panel listrik kita telebih dahulu mengenal komponen- komponen panel listrik dan harus memahami fungsi dari bagian-bagaian listrik itu sendiri Berikut beberapa komponen panel listrik beserta fungsinya yang perlu anda ketahui:
MCB, yg singkatan dari ( Miniature Circuit Board) merupakan komponen panel listrik yang berfungsi sebagai switch pembatas arus akibat dari kenaikan daya /tegangan yg melebihi batas dan atau hubung singkat. Komponen panel listrik ini biasanya terbatas pada arus nominal kecil sampai dgn kurang dari 100 Ampere. Bentuknya ada yg satu pole (satu input dan satu output), ada yg dua pole, tiga pole hingga empat pole.
MCCB, MCCB singkatan dari Moulded Case Circuit Breaker. Circuit Breaker pemb…
Membangun Ruang Server merupakan kegiatan yang tidak dapat dianggap remeh. Untuk sebagian kita menganggap ruang server hanyalah tempat dimana perangkat server disimpan dengan baik. Tapi pada dasarnya, ruang server adalah ruangan yang bisa dikatakan merupakan juga data center dalam ukuran kecil, maka seyogyanya kita juga mengikuti standar untuk pembangunan ruang data center.
Ukuran ruang server umumnya akan sangat bergantung dari kegunaan dan kapasitas penampungan yang direncanakan. Oleh karena itu, ruang server dapat berukuran dari sangat kecil (minimal 2 meter x 2 meter) hingga ruang yang cukup besar.
Kalau kita bicara kegunaannya, umumnya ruang server digunakan untuk :
Menampung perangkat server (baik ukuran tower / rackmounted). Server bisa diasumsikan PC Server juga.Menampung perangkat jaringan, umumnya dalam hal ini minimal switch yang digunakan untuk koneksi ke server atau koneksi ke user.Menampung perangkat sumber daya catuan cadangan (atau kita mengenal istilah UPS)