ActiveDev Inc. is a consulting firm focused purely on software development. We specialize in custom software development using Java as the primary programming language. Our focus has shifted to Blockchain technologies, REST microservices, API Management and Governance with solid experience in Scrum Agile projects. On the backend, we deal with Unix, Linux, Windows, Docker, Springboot, Tomcat, Oracle, SQL Server, Messaging Queues (IBM MQ, and ActiveMQ), ESBs, BPM Engines and much more. Our expertise is in creating highly scalable backend processing solutions.
Having built multiple systems dealing with hundreds of millions of transactions, we have acquired in-depth knowledge in:
Solid Design
Breaking down units of work properly, mapping out the most efficient way to store data, and choosing the right architecture(s) for the job are key to translate business requirements into a proper design.
Writing Quality Code
Processing large volumes of data means a large number of calls to the code. Even small flaws in a method can cause significant performance degradation. Creating the most optimal code requires attention to detail, a willingness to learn, constantly adapting, and endless research. Of course, even the most efficient code may not be enough to meet an SLA. An application must also be able to scale and adapt to a customer's needs.
Scalability
Applications used to be written to handle a known volume of data, but things are much different today. An application must be able to grow and expand to meet the demand. Creating scalable applications requires special care and consideration. It is about knowing how to deal with things such as thread safety, thread starvation, deadlocks, managing multiple instances, ensuring uptime, handling concurrency with shared resources, dealing with bottlenecks, and managing resources.
Resource Management
If applications are not configured properly issues can arise such as running out of memory, or becoming CPU or I/O bound. Being able to analyze javacore dumps, heap dumps, system logs, NMON, etc is vital to ensure issues are resolved quickly and with minimal downtime.
Having built multiple systems dealing with hundreds of millions of transactions, we have acquired in-depth knowledge in:
Solid Design
Breaking down units of work properly, mapping out the most efficient way to store data, and choosing the right architecture(s) for the job are key to translate business requirements into a proper design.
Writing Quality Code
Processing large volumes of data means a large number of calls to the code. Even small flaws in a method can cause significant performance degradation. Creating the most optimal code requires attention to detail, a willingness to learn, constantly adapting, and endless research. Of course, even the most efficient code may not be enough to meet an SLA. An application must also be able to scale and adapt to a customer's needs.
Scalability
Applications used to be written to handle a known volume of data, but things are much different today. An application must be able to grow and expand to meet the demand. Creating scalable applications requires special care and consideration. It is about knowing how to deal with things such as thread safety, thread starvation, deadlocks, managing multiple instances, ensuring uptime, handling concurrency with shared resources, dealing with bottlenecks, and managing resources.
Resource Management
If applications are not configured properly issues can arise such as running out of memory, or becoming CPU or I/O bound. Being able to analyze javacore dumps, heap dumps, system logs, NMON, etc is vital to ensure issues are resolved quickly and with minimal downtime.