Trending March 2024 # Android Architecture: Application Layers, Framework, Component # Suggested April 2024 # Top 10 Popular

You are reading the article Android Architecture: Application Layers, Framework, Component updated in March 2024 on the website We hope that the information we have shared is helpful to you. If you find the content interesting and meaningful, please share it with your friends and continue to follow and support us for the latest updates. Suggested April 2024 Android Architecture: Application Layers, Framework, Component

Android operating system’s initial release was in the year 2008. Even at its start, the team behind the operating system built it on top of the shoulders of giants. Beyond the user interface that the Android OS presents at the surface level, it is made up of multiple layers. These layers include custom code and open-source technologies that have been under continuous development for decades.

Android has been developed through massive collaborative efforts and investments by many companies. The main company behind android development is Google. Other companies include device manufacturers such as Samsung, LG; processor manufacturers such as Intel and ARM, but to name a few.

When we talk about Android architecture, we mean how the Android system has been designed, segmented into layers, and built up to work as a system. Building such a complex system requires careful structuring to ensure all the components work together cohesively. Its architecture ensures that the many components function as a whole without crashing.

In this tutorial, you will learn:


The following are the layers that compose the Android architecture as labeled on the diagram:


Application Framework

Android Runtime and Core Libraries

Linux Kernel

Developing an operating system for mobile devices comes with a set of challenges. Using this layered architecture ensures that different problems are broken down and solved at different levels.

A layered architecture helps separate concerns and ensure android software developers don’t have to deal with low-level problems at every turn. They can instead focus on delivering business value concerned with the layer they’re working on.

Developers are working on making apps don’t have to worry about the application framework implementation. That work is left for the system developers working on the Application framework.

The Application Framework developers work on developer experience and don’t have to worry about the low-level drivers. Low-level system engineers can focus completely on low-level components such as Bluetooth or Audio drivers and the like.

Android’s layered structure makes it possible to apply updates with bug fixes or improvements to each layer on its own. This ensures that changes across layers don’t interfere with each other. This makes it possible for people working at a different level of the OS to work with obstructing each other as new updates and releases are done.

Android Application

Android Application

This is the layer that end-users interact with. It is on this layer where application developers publish their applications to run.

Android, by default, comes with a set of applications that make android devices usable from the offset.

Contacts: Android, by default, provides a means to store and retrieve contacts. Contact information is shared across other apps to enhance functionality.

Messages: Android provides the capability to send and receive SMS messages.

Email: Android comes with native support for email services. Setting up an Android device requires a Gmail account. Setting up Gmail activates other email-dependent components on Android devices. Some email dependent features include security and recovery mechanisms. Another email dependent feature is access to the Play Store, a marketplace for Android applications.

Browser: Android comes with a default browser.

Notification Drawer: Swiping down on the screen exposes the notification drawer. It provides application events that the user should be aware of. Above the notification are a set of shortcuts to some commonly used device settings that the users can toggle. These settings include on and off toggles for various hardware components such as Bluetooth and Wifi. Long pressing these events enables us to navigate to their configurations page.

This layer is also referred to as user-level in contrast to the layers below that are mostly tuned for application development. Application developers create and customize the experiences for their apps on this layer. The layers below the application layer are not customized by application developers. They are considered part of the system layer. These layers are customized by device manufacturers, Google android teams, or third parties who want to use the Android source code for their product or research.

Application Framework

The Android OS exposes the underlying libraries and features of the Android device that are using a Java API. This is what is known as the Android framework. The framework exposes a safe and uniform means to utilize Android device resources.

Application framework

1) Activity Manager

The Android ActivityManager is responsible for predictable and consistent behavior during application transitions. The ActivityManager provides a slot for app creators to have their apps react when the Android OS performs global actions. Applications can listen to events such as device rotation, app destruction due to memory shortage, an app being shifted out of focus, and so on.

Some examples of the way applications can react to these transitions include pausing activity in a game, stopping music playing during a phone call.

2) Window Manager

Android can determine screen information to determine the requirements needed to create windows for applications. Windows are the slots where we can view our app user interface. Android uses the Window manager to provide this information to the apps and the system as they run so that they can adapt to the mode the device is running on.

The Window Manager helps in delivering a customized app experience. Apps can fill the complete screen for an immersive experience or share the screen with other apps. Android enables this by allowing multi-windows for each app.

3) Location Manager

Most Android devices are equipped with GPS devices that can get user location using satellite information to which can go all the way to meters precision. Programmers can prompt for location permission from the users, deliver location, and aware experiences.

Android is also able to utilize wireless technologies to further enrich location details and increase coverage when devices are enclosed spaces. Android provides these features under the umbrella of the Location-Manager.

4) Telephony Manager

Most Android devices serve a primary role in telephony. Android uses TelephoneManager to combine hardware and software components to deliver telephony features. The hardware components include external parts such as the sim card, and device parts such as the microphone, camera, and speakers. The software components include native components such as dial pad, phone book, ringtone profiles. Using the TelephoneManager, a developer can extend or fine-tune the default calling functionality.

5) Resource Manager

Android app usually come with more than just code. They also have other resources such as icons, audio and video files, animations, text files, and the like. Android helps in making sure that there is efficient, responsive access to these resources. It also ensures that the right resources are delivered to the end-users. For example, the proper language text files are used when populating fields in the apps.

6) View System

Android also provides a means to easily create common visual components needed for app interaction. These components include widgets like buttons, image holders such as ImageView, components to display a list of items such as ListView, and many more. The components are premade but are also customizable to fit app developer needs and branding.

7) Notification Manager

The Notification Manager is responsible for informing Android users of application events. It does this by giving users visual, audio or vibration signals or a combination of them when an event occurs. These events have external and internal triggers. Some examples of internal triggers are low-battery status events that trigger a notification to show low battery. Another example is user-specified events like an alarm. Some examples of external triggers include new messages or new wifi networks detected.

Android provides a means for programmers and end-users to fine-tune the notifications system. This can help to guarantee they can send and receive notification events in a means that best suits them and their current environments.

8) Package Manager

Android also provides access to information about installed applications. Android keeps track of application information such as installation and uninstallation events, permissions the app requests, and resource utilization such as memory consumption.

This information can enable developers to make their applications to activate or deactivate functionality depending on new features presented by companion apps.

9) Content Provider

Android has a standardized way to share data between applications on the device using the content provider. Developers can use the content provider to expose data to other applications. For example, they can make the app data searchable from external search applications. Android itself exposes data such as calendar data, contact data, and the like using the same system.

Android Runtime and Core/Native Libraries


1) Android Runtime

Android currently uses Android Runtime (ART) to execute application code. ART is preceded by the Dalvik Runtime that compiled developer code to Dalvik Executable files (Dex files). These execution environments are optimized for the android platform taking into consideration the processor and memory constraints on mobile devices.

The runtime translates code written by programmers into machine code that does computations and utilizes android framework components to deliver functionality. Android hosts multiple applications and system components that each run in their processes.

Core Libraries

In this segment, we will discuss some of the core libraries that are present in the Android operating system.

2) MediaFramework

Android also natively supports popular media codecs, making it easy for apps created on the Android platform to use/play multimedia components out of the box.

3) SQLite

Android also has an SQLite database that enables applications to have very fast native database functionality without the need for third party libraries.

4) Freetype

Android comes with a preinstalled fast and flexible font engine. This makes it possible for application developers to style components of their application and deliver a rich experience that communicates the developer’s intent.

5) OpenGL

Android also comes with the OpenGL graphics system. It’s a C library that helps Android use hardware components in the real-time rendering of 2D and 3D graphics.

6) SSL

Android also comes with an inbuilt security layer to enable secure communication between applications on Android and other devices such as servers, other mobile devices, routers 6.

7) SGL

Android comes with a graphics library implemented in low-level code that efficiently renders graphics for the android platform. It works with the higher-level components of the Android framework Android graphics pipeline.

8) Libc 9) Webkit

This is an open-source Browser engine used as a basis to build browsers. The default Android browser before version 4.4 KitKat uses it for rendering web pages. It enables application developers to render web components in the view-system by using WebView. This enables apps to integrate web components into their functionality.

10) Surface Manager

The surface manager is responsible for ensuring the smooth rendering of application screens. It does this by composing 2D and 3D graphics for rendering. It further enables this by doing off-screen buffering.

Linux Kernel

The root component of the Android System is the Linux Kernel. It is the foundational piece that enables all of Android’s functionality.

The Linux Kernel is a battle-tested piece of software that has been used in developing operating systems for devices of wide range, from supercomputers to small gadgets. It has limited processing abilities like small networked gadgets for the Internet of Things (IoT).

The Linux Kernel can be tweaked to meet the device specifications to make it possible for manufacturers to make Android devices with different capabilities to match user experience.

With regards to Android, the Kernel is responsible for many foundational functionalities including but not limited to these:

Device drivers

Memory Management

Process Management

Let’s expand on some of the functionality:

Device Drivers

The Linux Kernel houses the drivers needed to make it possible for the operating system to work with different hardware components. These drivers provide a standard interface with which hardware components sourced from different manufacturers can work with.

This makes it possible for device manufacturers to source different components, such as Bluetooth components, Wifi components, camera components. As long as the manufacturers match the Android standard specifications, integration is seamless.

1) USB Driver

Linux also provides Android with a means to interface with USB devices. Modern devices come with different USB ports, including USB 2.0 and new versions of USB, including USB-C. These drivers make it possible to use the USB port to charge, transfer live data such as logs from the Android devices, and interact with the android file system.

2) Bluetooth Driver

Linux Kernel provides support for interfacing with Bluetooth hardware components. It provides a way to read and write data received from supported bluetooth radio frequencies. It also provides a set of facilities for Android to configure Bluetooth.

3) Wifi Driver

The Linux kernel provides drivers to integrate the WiFi networking hardware components. WiFi components embedded in mobile devices enable Android devices to connect to wifi networks. The driver enables the wifi components to broadcast wifi networks and create hotspots.

4) Display Driver

Android makes it possible to interface with display components. For most devices, the interface component is an LCD touch-screen. It allows support for configuring and drawing pixels.

5) Audio Driver

Android devices commonly come with hardware components for audio input and output. Audio drivers in the kernel enable the Android system to use audio received from these components and also produce audio output.

6) Power Manager

Most Android devices are used while disconnected from power outlets. They thus depend on batteries to power them for a large chunk of their usage. Linux Kernel comes with a power management system that’s configurable to meet the needs of the devices using it.

Android OS uses the power manager to make other components on the device power-aware. It does this by broadcasting various power-related states. These states are Standby, Sleep, and Low-Battery. On Android, the power manager is tweaked to default to sleep mode to ensure maximum battery life.

The Power Manager exposes means for applications to react to different power modes. Applications can also change their behavior to match the current power state of the device.

An application can also request to change the default power policies. Applications can achieve the desired functionality, such as keeping the hardware components active. An example is keeping the screen active when reading a book to ensure a user isn’t interrupted. Another example is keeping the audio components turned on when listening to music in the background.

7) Flash Memory

Most Android devices use flash memory as a means of storage. Flash memory is fast and takes less space making it perfect for small devices. Linux kernel provides a means for Android devices to read and write into flash memory. It provides a means to partition the memory in such a way that the OS and other applications can easily and efficiently share the memory resource.

8) Binder

Android hosts many applications and system components that each run in their processes. In most cases, these processes should be isolated from each other to prevent interference and data corruption. Yet, there are instances that we wish to pass data from one process to another.

The Linux kernel enables data sharing functionality by providing binder drivers. Binder drivers enable inter-process communication, IPC. Using IPC processes can discover other processes and share information.

Memory Management

Another responsibility of the Linux Kernel is memory management. As different applications run, the Kernel ensures the memory space they use doesn’t conflict and overwrite each other.

It also helps ensure that all running apps get adequate memory to function, making sure no single app takes too much space.

Process Management

Every app in Android runs in a process. The Kernel is also responsible for managing processes. This means it’s responsible for creating, pausing, stopping, shutting, or killing down processes.

The Kernel enables various functionalities such as running multiple processes at the same time, communicating between processes, running processes in the background, and so on.

As each process requires its own memory space to function correctly, the Kernel ensures that memory spaces allotted for each process are protected from other processes. It also ensures that resources like RAM allotted to processes are freed up when the processes are shut down.

The Linux Kernel is also responsible for distributing work to the processors present in the device. This makes it possible to maximize the performance of devices with multiple cores as different apps will have processes being run on a different core.

The Linux Kernel does more task under the hood including enforcing security.


Android architecture is organized in layers.

Each layer solves a unique set of problems.

End-users interact with apps on the Application layer

Application developers develop apps to be used on the Application layer. They do so using tools and abstractions provided by the Application Framework.

Android Framework layer simplifies access to low-level components by creating an API over native libraries.

Android Runtime and Core-Libraries use low-level languages together with optimizations for mobile devices. This ensures code written by application developers runs smoothly despite Android device constraints.

At the bottom of the Android software stack is the Linux kernel. It interfaces with the hardware components common in Android devices.

You're reading Android Architecture: Application Layers, Framework, Component

Advantages And Framework Of Struts

Introduction to Struts Framework

The web application framework to develop Java EE web applications is called Struts. Struts were developed by Craig Mcclanahan in May 2000 and were given to Apache foundation. It was also called Jakarta Struts. It is written in Java and it uses cross-platform such as Java Virtual Machine. Struts are open source and use Java API. The license is Apache license 2 versions. Java Servlet API is extended to use Model View Controller Architecture (MVC) and it works basically among these three forms. Apache Struts framework is replaced by Struts 2 in February 2007.

Start Your Free Software Development Course

Framework of Struts

Controllerservlet and ActionServlet are provided in the framework. These are defined in the libraries and also in the Integrated Development Environment. Hence they get registered in the XML files used in the framework. Java servlet application interface is used that has a Model View Controller Architecture (MVC).

The model is separated from the view and controller. Model is the application logic to interact with the database and View is the HTML page viewed by the client.

A controller servlet called Action Servlet is used when the framework is started. The templates to be viewed by the user are created by Action servlet. The controller passes the information between the Model and View of the client.

The templates are written using JSP for the HTML content.

The programmer creates the configuration file called chúng tôi This config file keeps the model, view, and controller together.

This servlet maps requests to Struts Action objects using struts-config.xml.

If any information has to be changed, updating in the XML file should be more than enough.

Action form objects are created to temporarily store data and the requests are executed.

The model returns a string (Action forward) to instruct the controller to send an output page to the client.

Once the requests are processed, Action object processes new data and results are forwarded to the appropriate view.

The model and client pass information using a form called JavaBeans.

A custom tag library is used to read and write the content of the beans and hence Java code is not needed.

Web forms are internationalized using Struts and templates are created for the presentation layer. The template mechanism is called Tiles.

The struts-config file is used to process application Action classes and result pages. These files save all the results and if any change is needed, those can be made in these files.

Java annotations are used to provide metadata information and that helps the developers to create the application based on the information provided.

The applications can be integrated with any other framework or application.

Whenever the requests are made, actions are created and the servlet response to the model calls.

UI tags, control tags, and action tags are provided so that struts are easy to use.

XHTML, css_html and simple are the themes of struts where XHTML is the default theme.

The presentation layer is mixed up with business logic and the servlet needs to be recompiled if there is any code change.

It is pretty easy and fast to develop web applications.

Maintenance was a concern as the pages were decentralized and logic has to be determined to write the subsequent pages.

Advantages of Struts

Since Struts follow MVC framework, Java, JSP and Action classes are highly maintained and easy to understand for developers.

It is easy to maintain the applications due to the MVC framework.

The representation is in xml or property files and hence all the information about the application can be collected from the xml.config files. All information including Action class, Form Bean and JSP page information is in the config file which is very helpful for the developers.

getParameter () information is stored in Form Bean. All the input data is processed here. The time to process the data is very less due to Form Bean.

JSP tags are provided that easily provide the properties of JavaBeans components. The tags are customized, concise and powerful when compared to other tags.

HTML tags are also created from JSP tags to set the page for the user interface. The form field objects are from Java files. The forms can be redisplayed with all the values remaining the same or a few changes made.

In order to check whether the form values are in the required format, Struts has built-in capabilities. This helps to get the values sooner for developers.

Due to xml and property files, any changes can be made to these files without changing the original Java code. Hence the developers need not know the entire layout. They have to edit only the single file. This helps to save the time of editing the file.

The validator in Struts is really good to validate the forms or fields whatever the developer entered in the network. This validation is either performed in the server or in both server and client.

The infrastructure is taken care of well in Struts. HTTP requests are mapped into the process and developers need not worry the same. They can focus on the code and developing the domain.

Documentation is well maintained and is of very useful to anyone who develops the framework.

Struts are a large framework and hence used to create enterprise-wide applications. The design, action form, and annotations are simple and easy to understand. Struts are mainly considered as a legacy and if it is needed very much by the client, we should follow the same. This framework is popular due to ease of use and knowledge of Java by developers.

Recommended Articles

Appellate Jurisdiction: Meaning And Application

Appellate jurisdiction is the ability of a superior or higher court to hear and rule on appeals from decisions made by lower courts. All three courts (District Courts, High Courts, and Supreme Court) have the appellate jurisdiction within its territory, but the Supreme Court has a broad range of appellate jurisdiction, as it includes the entire country. However, it considers appeals from decisions made by the high courts (the second highest court of the country). Consequently, it is the highest and last Court of Appeal. If one of the disputing parties is not pleased with the High Court’s ruling, they may appeal to the Supreme Court. In civil, criminal, and constitutional cases, appeals may be filed.

Appeals in Civil Cases

Civil cases include disputes involving property, marriage, money, contracts, services, etc. A civil lawsuit may appeal the High Court’s ruling to the Supreme Court if a significant legal issue of public importance requires a legal or constitutional interpretation. Prior to the 30th Amendment of 1972, the minimum amount for filing a civil appeal with the Supreme Court was Rs. 20,000, but currently there is no such need. One may appeal the High Court’s ruling if there is a significant legal or constitutional interpretation issue.

Appeals in Criminal Cases

In a variety of circumstances, an appeal against a High Court judgement in a criminal matter may be filed with the Supreme Court. First off, the accused has a legal right to appeal to the Supreme Court if a high court strikes down an appeal or an order of acquittal made by a lower court and sentences him to death. Second, if the High Court transfers a case to itself from a lower court, finds the defendant guilty, and sentences them to death, an appeal may also be taken to the Supreme Court. Additionally, appeals may be filed in this circumstance without a High Court certificate and as a matter of right.

The appeal in cases other than these two categories may also be brought to the Supreme Court provided the High Court grants a certificate that the case is fit for appeal to the Supreme Court. In case where the High Court refuses to certify a case to be fit for appeal to the Supreme Court, one may seek special leave to appeal from the Supreme Court itself. The Supreme Court may grant such a special leave in its discretion but only in rare cases.

Appeals in Constitutional Cases

A constitutional case is not a civil lawsuit or a criminal prosecution. It is a case that resulted from various constitutional interpretations, particularly with regard to fundamental rights. In these constitutional cases, the Supreme Court will only hear an appeal if a high court certifies that the issue at hand includes a significant legal issue. If the High Court denies a certificate of fitness to appeal to the Supreme Court, the Supreme Court can use its discretion and grant special leave to appeal to itself in any case it deems fit.

Appeal by Special Leave

The Supreme Court may, in its discretion, grant special leave to appeal from any judgement, decree, determination, sentence, or order in any case or matter passed or made by any Court or tribunal in the territory of India, with the exception of the Court or tribunal established by or under any law relating to the armed forces, according to Article 136 of the Constitution of India, 1950.

In State of Jammu and Kashmir v. Thakur Ganga Singh, the apex court opined that under cl. (2) of Art. 132 there is no scope for granting a special leave unless two conditions are satisfied −

The case should involve a question of law as to the interpretation of the Constitution.

The said question should be substantial question of law.

The principle underlying the article is that the final authority for interpreting the Constitution must rest with the Supreme Court. Where the parties agree on the true interpretation of a provision or do not raise any question in respect thereof, it is not possible to hold that the case involves any question of law as to the interpretation of the Constitution. Moreover, it was held that the question raised in this case did not involve any question of law as to the interpretation of the Constitution.

Moreover, it was opined that at no stage of the proceeding had the correctness of the interpretation of Article 14 or the principles governing the doctrine of classification been questioned by either of the parties. The interpretation of Article 14 in the context of classification has been finally settled by the highest court of this land, and under Article 141 of the Constitution, that interpretation is binding on all the courts within the territory of India. As a result, where the law has been finally and authoritatively decided by the Supreme Court, a substantial question of law cannot arise.


The apex court has ruled that in order to award a certificate, the certificate must be against a final judgement and explicitly state the specific article or clauses of the article it is granted under. Simple generalisations about the order are insufficient. It has been noted that the Supreme Court is hesitant to step in when the High Court has exercised its authority, but it will intervene if it determines that the High Court behaved incorrectly, broke the law, or neglected to take certain considerations into account. According to the Supreme Court, judicial direction must always be exerted in line with the law and established legal principles.

Frequently Asked Questions

Q1. What is the significance of appellate jurisdiction?

Ans. To ensure that the proceedings were fair and that the appropriate law was applied correctly, appellate courts examine the processes and rulings made by the trial court.

Q2. Can the Prime Minister dismiss a judge?

Ans. The judges cannot be removed from their positions by any authority via a customary and straightforward procedure. The President may remove a judge only in cases of proven misconduct or incompetence.

Q3. Can the Supreme Court’s decision be changed by Parliament?

Ans. A court’s ruling cannot be declared void or without effect by the legislature.

Q4. What happens if the Supreme Court dismisses the appeal?

Ans. The judgement of the lower court may be fully or partially overturned if an appeal is accepted. If an appeal is denied, the judgement of the lower court is upheld.

10 Best Practices For Application Deployment

The application deployment process offers numerous complex challenges to enterprise IT managers. Chief among them: your staff’s existing application deployment skills and tactics may not apply in all scenarios. For instance, deploying an on-premises or private cloud is nothing like deploying in the public cloud.

We’ll look at several of these challenges as we explore application deployment strategies in-depth. Or you can jump directly to the application deployment best practices list below.

Some background: With the move to the cloud, cloud-specific deployment skills are as mandatory as on-prem deployment skills are for top efficiency, security, and productive output. According to the RightScale State of the Cloud Report, 92 percent of organizations use cloud companies, so you better know cloud deployment as well as you know on-premises deployment.

Creating a fully efficient application deployment plan requires IT managers to understand and ultilize the complete IT infrastructure.

There is a world of difference between on-premise deployment and cloud computing application deployment. If you approach your cloud deployment or migration thinking there is little difference, you could be in for a world of financial hurt.

Among the key differences:

Direct Access: On-premises apps have direct access to the servers and all of the data that is kept on them. In contrast, cloud apps will at the very least need to connect to the business to get at on-premises data or, more likely, collect data in the cloud and process it there. Moving data between on-prem and the cloud is expensive and opens the company up to potential regulatory problems, so cloud apps are more likely to use data born in the cloud.

The Risk Element: Cloud apps minimize risk. Should the project fail, sure, your developer time is gone. But you didn’t invest in on-premises equipment, like servers and software licenses. On-premise app deployment leans toward expansion of your data center, which brings increased expenses in power and cooling.

Much Faster: Cloud deployments are faster since virtual machines can be spun up in minutes instead of days to deploy workspace on-prem. And if more resources are needed, the same applies. It takes minutes to allocate resources on Amazon Web Services or Microsoft Azure or Google Cloud instead of weeks to order and install new hardware.

The Expense Issue: On the down side of the cloud app deployment, every expense is metered and charged, so if you have an app that needs to run 24/7 and process lots of data in a large memory space, the AWS bill is going to grow to a major level. On-prem, there is no such use charges. Once the servers are bought, paid for, and deployed, that’s it.

Regulatory concerns: Also you may face regulatory limits on moving data to the cloud and not have the option of letting some data out of your firewall. So in some cases, the apps and data must stay in-house and on-premises.

Should you choose to deploy your application in the cloud, there are generally speaking three options: infrastructure as a service (IaaS), platform as a service (PaaS), or software as a service (SaaS). Your choice depends on the specific needs for the application.

In an IaaS scenario, the infrastructure for building cloud apps is provided for you. This is the most basic service of all the cloud providers, whether it’s Amazon or a local provider. The vendor provides a virtual machine and operating system, usually Linux but in some cases Windows. However, you will have to install libraries, application runtimes, and any databases that your application will require.

PaaS provides more of a development environment, so you get developer tools, libraries, and databases. All you need to provide is the apps and data. The PaaS environment is actively and completely managed by the provider. On the flip side, you often have no choice but the developer packages provided to you, so if you don’t want/like/need what the provider offers, you are out of luck.

With SaaS, everything is provided for you except the application data. Vendors provide application coding tools to modify their tools but you are still working with the app they offer. For example, Salesforce allows you to customize its flagship CRM software, but in the end it’s still Salesforce’s product and some changes are out of your reach.

Almost all applications require a database of some type, and while the major vendors offer a variety of SQL and NoSQL databases, while smaller providers have fewer options. Cloud providers also offer horizontal and vertical scaling and load balancing for spikes in app usage.

Application deployment is about intent. In some instances, after you select a Big Data application, you’ll need to be clear about the plans and intentions for this app. In this process, an IT manager sets up a schedule to evaluate these key question in the life cycle of an application:

When should an application be installed? 

When should the app by updated?

Should an application be uninstalled or completely deleted?

Completely and carefully scheduling these key points allows for updates and removals to be automated – and taken out of the hands of end users.

An industry-leading example of of a tool used for the app deployment evaluation cycle is Microsoft’s System Center Configuration Manager, which engages in a variety of actions on client computers. The Application Deployment Evaluation Cycle will check new application deployment polices available to client computer and start a new or update installation as per schedule.

There are a number of best practices to be kept in mind when it comes to application deployment. Some are specific to on-prem or the cloud while others are universal. We will start out with the basics and drill down from there.

1) Simple. Keep the installation structure simple, with minimal file distribution. Don’t install libraries that won’t be used and don’t scatter files all over the place.

2) Consistent. Have a consistent deployment mechanism and don’t change things between development, test, and deployment.

3) Organized. Clean up after yourself. Remove old and obsolete files when installing a new version. Delete old files before beginning the install process so the install is essentially a clean installation.

4) Secure. Focus on security as if your company depends on it – because it just might. Poke and prod your application perimeters to find holes where hacker might attack. Consider using any number of application security tools.

5) Plan B. Have a roll back strategy in case things go wrong. Having a “plan B” may save your company when problems arise – and they will.

6) Be Agile. Agile deployment’s biggest strength is in rapid deployment, along with continuous delivery. Of course it only works if you use the processes listed above.

7) Checklist. Use a deployment checklist. There’s a reason pilots go through a checklist before takeoff even after decades in the cockpit. Things can slip your mind. A checklist reminds you of every step.

8) Continuous. Use a continuous integration server. One of the big problems in a project is tracking down why code works on the developer’s computer but breaks in a deployment setting. A continuous integration (CI) server is an important tool in Agile development because it pulls in the source code from all developers and test it together in real time. That’s why CI servers are sometimes called “build servers.”

9) Automate. Use automation as much as possible. Automation can and should be done at the deployment level through tools like Microsoft System Center Configuration Manager so as to push out the most recent build of an app as possible. Scripting is also a means of deployment in non-Microsoft and Microsoft environments alike.

10) Top Tools. Use the right tool, always. This will likely require some research. There is no lack of deployment tools available for a wide array of budgets and enterprise scenarios.

History, Location And Architecture Of Ambaji Temple

About Ambaji Temple

Watch our Demo Courses and Videos

Valuation, Hadoop, Excel, Mobile Apps, Web Development & many more.

Location of Ambaji Temple

Ambaji temple is a famous pilgrimage place in Gujarat, India. It is present on the border of the states of Gujarat and Rajasthan adjacent to Abu Road. It is related to the Danta Taluka of Banaskantha Precinct, relatively close to the beginnings of the famous Vedic River SARASWATI. The temple is seen on the mountaintop of Arasur Parvat in the Ambica forest. This forest is towards the southwest side of the old mountains of Aravalli. It is at an altitude of about 480 meters and about 1600 feet high from sea level. It is one among the Fifty historic Shakti Piths (the major Centre of Cosmic Power in India) with an area of 8.33 sq km (5 sq. miles).

Periodic History

It is the main shrine of a deity adored from the pre-Vedic period. The Goddess is also known as Arasuri Amba, from the temple’s position in the Arasur hills, at the origin of the River at the southern extremity of the Aravali mountainous region. Among the 51 Shakti Peethas is Ambaji Mata Temple. It is a crucial Shakti Peeth in India.

Maa Amba’s brilliance makes her a cherished shrine among devotees of the Shaktism sect of Devout Hindus. Because Devi Sati’s heart fell here, this is a potent Shakti Peeth. Daksha Yaga Mythology has an intriguing narrative behind the acquisition of Shakti Peeth Status. Every Shakti Peeth had its establishment when a portion of Goddess Sati Devi’s body dropped into that location. According to the bards, Lord Shiva danced with Sati Devi’s corpse in dreadful fury and sadness, and her body split into 51 pieces. The Shakti Peeth has a significant tantric connection and a link to Batuk Bhairav.


The temple’s inner sanctuary boasts silver-plated doors. The primary center of devotion is a gokh, or alcove, in the wall with an ancient marble engraving of the Viso Yantra, a Vedic book on sacred geometry. There is no goddess idol, maybe because the temple predates idol adoration, but the priests adorn the upper half of the gokh in a way that appears to be a goddess idol from a distance.

Places to visit Around the Temple

A few miles from the Ambaji shrine lies Mansarovar, a massive rectangular kund with stairs on all four sides. Near Ambaji temple is also the Stone Artisan Park Training Institute (SAPTI). SAPTI is hosting a series of symposiums called Shilpotsav. Participants created stunning sculptures at prominent Ambaji locales such as Gabbar Hill, Shaktipith Circle, and the Light and Sound Show Arena.

The euphoric holiday of Navratri lights up throughout Gujarat in honor of Ambaji, with the Garba dance surrounding the Holy Mother. The Nayak and Bhojok clans also conduct bhavai theatre on these nine evenings. On Bhadarvi Poornima (full moon day), a significant mela occurs here, and people from all over the nation walk from their homes. The whole town of Ambaji gets lit up as the country celebrates Diwali.

Recommended Articles

We hope that this EDUCBA information on “Ambaji Temple” was beneficial to you. You can view EDUCBA’s recommended articles for more information,

What Are Architecture Flux Components In Javascript?

If you’ve been keeping up with the JavaScript world in the last few years, you’ve probably heard of the concept of a “flux” architecture. In a nutshell, flux is a pattern for managing data flow in applications. It was originally designed for use with React, but it can be used with any other JavaScript framework.

There are a few different ways to implement flux, but they all share a few key components−

Dispatcher − This is a central object that is responsible for managing all data flow in the application. All updates start with the dispatcher.

Stores − These are objects that contain the application data. They can be thought of as models, but they also have the ability to emit change events.

Views − These are the React components that make up the user interface. They listen for change events from the stores and update themselves accordingly.

In this tutorial, we’re going to take a closer look at each of these components and see how they work together.

The Dispatcher

The dispatcher is the central hub of a flux application. It is responsible for managing all data flow. All updates start with the dispatcher.

A dispatcher is a singleton object, meaning there is only one instance of it in the application. It is also an event emitter. When an action occurs, the dispatcher emits an event with the action type and any relevant data.

The dispatcher broadcasts these events to the stores, which then update themselves accordingly. The views listen for change events from the stores and update themselves as well.


Stores are objects that contain the application data. They can be thought of as models, but they also have the ability to emit change events.

When a store receives an action from the dispatcher, it can choose to update itself accordingly. Once it has updated its data, it emits a change event.

The views listen for these change events and update themselves as well.


Views are the React components that make up the user interface. They listen for change events from the stores and update themselves accordingly.

In a flux application, all updates start with the dispatcher. The dispatcher emits an event with the action type and any relevant data. The stores receive these events and update themselves accordingly. Once the stores have updated their data, they emit change events. The views listen for these change events and update themselves as well.


Flux is a pattern for managing data flow in applications. It was originally designed for use with React, but it can be used with any other JavaScript framework.

There are a few different ways to implement flux, but they all share a few key components: a dispatcher, stores, and views.

The dispatcher is the central hub of a flux application. It is responsible for managing all data flow. All updates start with the dispatcher.

Stores are objects that contain the application data. They can be thought of as models, but they also have the ability to emit change events.

Views are the React components that make up the user interface. They listen for change events from the stores and update themselves accordingly.

Update the detailed information about Android Architecture: Application Layers, Framework, Component on the website. We hope the article's content will meet your needs, and we will regularly update the information to provide you with the fastest and most accurate information. Have a great day!