And I'm back, as promised, with 5 more key differences meant to help you solve your Apache Solr vs Elasticsearch dilemma.
To help you properly evaluate the 2 open source search engines and, therefore, to identify the perfect fit for your own use case and your project's particular needs.
6. Node Discovery
Another aspect that clearly differentiates the 2 search engines is the way(s) they handle node discovery.That is, whenever a new node joins the cluster or when there's something wrong with one of them, immediate measures, following certain criteria, need to be taken.
The 2 technologies handle this node-discovery challenge differently:
Apache Solr uses Apache Zookeeper — already a “veteran”, with plenty of projects in its “portfolio” — requiring external Zookeper instances (minimum 3 for a fault-tolerant SolrCloud cluster).
Elasticsearch relies on Zen for this, requiring 3 dedicated master nodes to properly carry out its discovery “mission”
7. Apache Solr vs Elasticsearch: Machine Learning
Machine learning has a way too powerful influence on the technological landscape these days not to take it into consideration in our Apache Solr vs Elasticsearch comparison here.
So, how do these 2 open source search engines support and leverage machine learning algorithms?
Apache Solr, for instance, comes with a built-in dedicated contrib module, on top of streaming aggregations framework; this makes it easy for you to use machine-learning ranking models right on top of Solr
Elasticsearch comes with its own X-Pack commercial plugin, along with the plugin for Kibana (supporting machine learning algorithms) geared at detecting anomalies and outlines in the time series data
8. Full-Text Search Features
In any Apache Solr vs Elasticsearch comparison, the first one's richness in full-text search related features is just... striking!
Its codebase's simply “overcrowded” with text-focused features, such as:
the functionality to correct user spelling mistakes
a heavy load of request parsers
configurable, extensive highlight support
a rich collection of request parsers
Even so, Elasticsearch “strikes back” with its own dedicated suggesters API. And what this feature does precisely is hiding implementation details from user sight, so that we can add our suggestions far more easily.
And, we can't leave out its highlighting functionality (both search engines rely on Lucene for this), which is less configurable than in Apache Solr.
9. Indexing & Searching: Text Searching vs Filtering & Grouping
As already mentioned in this post, any Apache Solr vs Elasticsearch debate is a:
Text-search oriented approach vs Filtering and grouping analytical queries type of contrast.
Therefore, the 2 technologies are built, from the ground up, so that they approach different, specific use cases:
Solr is geared at text search
Elasticsearch is always a far better fit for those apps where analytical type of queries, complex search-time aggregations need to be handled
Moreover, each one comes with its own “toolbox” of tokenizers and analyzers for tackling text, for breaking it down into several terms/tokens to be indexed.
Speaking of which (indexing), I should also point out that the two search engine “giants” handle it differently:
Apache Solr has the single-shard join index “rule”; one that gets replicated across all nodes (to search inter-document relationships)
Elasticsearch seems to be playing its “efficiency card” better, since it enables you to retrieve such documents using top_children and has_children queries
10. Shard Placement: Static by Nature vs Dynamic By Definition
Shard replacement: the last test that our two contestants here need to pass, so you can have your final answer to your “Apache Solr vs Elasticsearch” dilemma.
In this respect, Apache Solr is static, at least far more static than Elasticsearch. It calls for manual work for migrating shards whenever a Solr node joins or leaves the cluster.
Nothing impossible, simply less convenient and slightly more cumbersome for you:
you'll need to create a replica
wait till it synchronizes the data
remove the “outdated” node
Luckily for you, Elasticsearch is not just “more”, but “highly” dynamic and, therefore, far more independent.
It's capable to move around shards and indices, while you're being granted total control over shard placement:
by using awareness tags, you get to control where those shards should/shouldn't be placed
by using an API call you can guide Elasticsearch into moving shards around on demand
The END! Now if you come to think about it, my 10-point comparative overview here could be summed up to 2 key ideas worth remembering:
go for ApacheSolr if it's a standard text-search focused app that you're planning to build; if you already have hands-on experience working with it and you're particularly drawn to the open-source philosophy
go for Elasticsearch if it's a modern, real-time search application that you have in mind; one perfectly “equipped” to handle analytical queries. If your scenario calls for a distributed/cloud environment (since Elastic is built with out-of-the-ordinary scalability in mind)
RADU SIMILEANU / Mar 16'2018
Apache Solr vs Elasticsearch, the 2 leading open-source search engines... What are the main differences between these technologies?
Which one's faster? And which one's more scalable? How about ease-of-use?
Which one should you choose? Which search engine's the perfect fit for your own:
use case
specific needs
particular expectations?
Obviously, there's no universally applicable answer. Yet, there are certain parameters to use when evaluating these 2 technologies.
And this is precisely what we've come up with: a list of 10 key criteria to evaluate the two search engines by, revealing both their main strengths and most discouraging weakness.
So you can compare, weight pros and cons and... draw your own conclusions.
But First, A Few Words About The Two “Contestants”
I find it only natural to start any Apache Solr vs Elasticsearch comparison by briefly shading some light on their common origins:
Both open source search engine “giants” are built on the Apache Lucene platform. And this is precisely why you're being challenged with a significant number of similar functionalities.
Apache Solr
Already a mature and versatile technology, with a broad user community (including some heavy-weighting names: Netflix, Amazon CloudSearch, Instagram), Apache Solr is an open source search platform built on Lucene, a Java library.
And no wonder why these internet giants have chosen Solr. Its indexing and searching multiple sites capabilities are completed by a full set of other powerful features, too:
dynamic clustering
faceted search
NoSQL features & rich document handling
full-text search
real-time indexing
Elasticsearch
It's a (younger) distributed open source (RESTful) search engine built on top of Apache Lucene library.
Practically, it emerged as a solution to Solr's limitations in meeting those scalability requirements specific to modern cloud environments. Moreover, it's a:
multitenant-capable
distributed
full-text
... search engine, with schema-free JSON documents and HTTP web interfaces, that it “spoils” its users with.
And here's how Elasticsearch works:
It includes multiple indices that can be easily divided into shards which, furthermore, can (each) have their own “clusters” of replicas.
Each Elasticsearch node can have multiple (or just a single one) shards and the search engine is the one “in charge” with passing over operations to the right shards.
Now, if I am to highlight some of its power features:
analytical search
multi-tenancy
grouping & aggregation
distributed search
1. User and Developer Communities: Truly Open-Source vs Technically Open-Source
A contrast that we could define as:
“Community over code” philosophy vs Open codebase that anyone can contribute to, but that only “certified” committers can actually apply changes to.
And by “certified” I do mean Elasticsearch employees only.
So, you get the picture:
If it's a fully open-source technology that you're looking for, Apache Solr is the one. Its robust community of contributors and committers, coming from different well-known companies and its large user base make the best proof.
It provides a healthy project pipeline, everyone can contribute, so there's no one single company claiming the monopoly over its codebase.
One that would decide which changes make it to the code base and which don't.
Elasticsearch, on the other hand, is a single commercial entity-backed technology. Its code is right there, open and available to everyone on Github, and anyone can submit pull requests.
And yet: it's only Elasticsearch employees who can actually commit new code to Elastic.
2. What Specific Use Cases Do They Address?
As you can just guess it yourself:
There's a better or worse fit, in any Apache Solr vs Elasticsearch debate, depending exclusively on your use case.
So, let's see first what use cases are more appropriate for Apache Solr:
applications relying greatly on text-search functionality
complex scenarios with entire ecosystems of apps (microservices) using multiple search indexes, processing a heavy load of search-request operations
And now some (modern) use cases that call for Elasticsearch:
applications relying (besides the standard text-search functionality) on complex search-time aggregations, too
open-source log management use cases with many organizations indexing their logs in Elasticsearch in order to make them more searchable
use cases depending on high(er) query rates
data stores “supercharged” with capabilities for handling analytical type of queries (besides text searching)
… and pretty much any new project that you need to jump right onto, since Elasticsearch is much easier to get started with. You get to set up a cluster in no time.
3. Apache Solr vs Elastic Search: Which One's Best in Terms of Performance?
And a performance benchmark must be on top of your list when doing an Apache Solr vs Elasticsearch comparison, right?
Well, the truth is that, performance-wise, the two search engines are comparable. And this is mostly because they're both built on Lucene.
In short: there are specific use cases where one “scores” a better performance than the other.
Now, if you're interested in search speed, in terms of performance, you should know that:
Solr scores best when handling static data (thanks to its capability to use an uninverted reader for sorting and faceting and thanks to its catches, as well)
Elasticsearch, being “dynamic by nature”, performs better when used in... dynamic environments, such as log analysis use cases
4. Installation and Configuration
Elasticsearch is a clear winner at this test:
It's considerably easier to install, suitable even for a newbie, and lighter, too.
And yet (for there is a “yet”), this ease of deployment and use can easily turn against it/you. Particularly when the Elasticsearch cluster is not managed well.
For instance, if you need to add comments to every single configuration inside the file, then the JSON-based configuration, otherwise a surprisingly simple one, can turn into a problem.
In short, what you should keep in mind here is that:
Elastricsearch makes the best option if you're already using JSON
if not, then Apach Solr would make a better choice, thanks to its well-documented solrconfig.xml and schema.xml
5. Which One Scales Better?
And Elasticsearch wins this Apache Solr vs Elasticsearch test, too.
As already mentioned here, it has been developed precisely as an answer to some of Apache Solr well-known scalability shortcomings.
It's true, though, that Apache Solr comes with SolrCloud, yet its younger “rival”:
comes with better built-in scalability
it's designed, from the ground up, with cloud environments in mind
And so, Elasticsearch can be scaled to accommodate very large clusters considerably easier than Apach Solr. This is what makes it a far better fit for cloud and distributed environments.
And this is the END of PART 1. Stay tuned for I have 5 more key aspects “in store” for you, 5 more “criteria” to consider when running an Apache Solr vs Elasticsearch comparison!
Still a bit curious: judging by these 5 first key features only, which search engine do you think that suits your project best?
RADU SIMILEANU / Mar 16'2018
Contending with the... paradox of choice? With a handful of tempting options in terms of ecommerce services providers that seem to be fitting your project's needs entirely?
And choosing gets frustratingly challenging since they all “tempt” you with:
a visually-arresting design “backed up” by an ideally simple navigation structure
a team fluent in SEO, ready to propel your site right on the “highest peaks” of Google rankings
an impressive experience in implementing e-commerce-specific features and functionality
24/7 assistance: both pre- and post-launch issues and nasty bugs stand no chance to escape their team's vigilance
module, theme, and plugin customization skills to suit your ever-growing needs
… and the list goes on
So, how do you decide when all your choices seem to be equally... promising?
What's the proper evaluation system to use on all these “candidates”? How do you narrow down your own checklist of “must-have experience and expertise“ to the essentials?
And what are the essential things to look for in a potential e-commerce services provider anyway? Keep on reading...
1. Use This Checklist to Rate Other eCommerce Websites from Their Portfolio
Engage in some research work first, starting with the candidate's own portfolio.
Look for other ecommerce websites listed there and start evaluating the following aspects/site components:
the overall design: as a first-time visitor on those websites, do you find them visually-appealing enough?
navigation: it should be as simple and, therefore, intuitive, as possible; easily navigable inventories here included
imagery and particularly product images: are they high-quality?
is there any type of interactive chat system integrated, that users can use for dropping their questions?
is there a review system implemented; are customer testimonials displayed and visible enough?
checkout: the simpler the better; in this respect, the single-step checkouts, with visible “Add to cart” buttons, leading you straight to the payment page, make the surest “bet”
is there a status bar informing customers know just how many more steps there are left till they complete the checkout process?
All these are crucial aspects to check off your preliminary checklist, so mind you give them due consideration. Track down all the above-mentioned elements (adding a “minus” to your evaluation list if they miss), then take your time to analyze and to rate them one by one!
The completed projects of an ecommerce services company are filled with valuable “hints” in regard to how your own project might end up looking/performing!
2. Does The Platform Suit Your Budget and Back-Office Administration Experience?
And you might want to start your conversation precisely with this question:
“What ecommerce website development platform would you use for my project?”
From WordPress to Magento commerce, to PrestaShop, to OpenCart, to Drupal Commerce, the range of possible answers to this key question is wide enough to get you thinking.
... to get you pondering on whether their platform suits:
your planned budget for this ecommerce project
the time you're planning to invest
your team's skills and hands-on experience in back-office management
Do you want your online store to be up and running in no time? Conveniently easy-to-use and overall... simple?
Or is it a big ecommerce website, with a large inventory, incorporating a whole infrastructure of complex ecommerce functionalities, that you have in mind?
There's a specific platform to go with for every type of need and goal that you might have. Make sure your potential ecommerce services provider has already built itself a reputation working with that particular platform that best suits you and your project!
3. Put SEO Expertise High on Your List When Choosing Your eCommerce Services Provider
Need I add more?
The expertise and time invested in building a visually-arresting, ideally easy-to-use website gets reduced to... wasted efforts if they're powered by an effective SEO strategy.
Now it's the perfect time to tackle specific SEO goals that your potential partner would have to meet:
putting together SEO-friendly URLs
integrating meta tags relevant to each page
achieving mobile responsiveness
using certain page load time optimization techniques
And the list of SEO-oriented goals and aspects to evaluate at this phase continues with the analytics tools that this ecommerce services company has in its toolbox.
In short: look for proofs that this company's proficient in turning key customer-behavior data and valuable stats into... actionable insights for you to leverage.
4. Carefully Consider Their Time Estimate: Do They Leave Any “Room” for Extensive Tests?
In other words: “fast” could also mean:
“Let's skip or reduce the pre-launch testing to bare minimum!”
It's a trap, don't fall for it!
Make sure that the time estimate that they'll give you:
complies with your own release schedule
does cover the pre-launch testing period, too
A time needed for them to do their own testing, for your own team to run theirs and, of course, for this partner team to get all the identified bugs and issues fixed.
5. Do They Commit to Crafting High-Converting Copy, too?
If so, look for relevant “samples” of copy they've already crafted for past clients.
Is their copy:
persuasive enough?
clear, concise, yet informative?
simple, yet engaging?
Does it efficiently outline/tell those products', those brands' unique features/stories?
Then, you might just have a “winner”.
Still, there still are 2 more essential aspects to check off your list before you can give your final “verdict”. Keep on reading...
6. Can They Meet Your Current and Future Customization Needs?
Maybe a standard turnkey solution doesn't suit your ecommerce project's specific needs. Maybe those plugins need some tuning work to meet your specific requirements.
Or maybe you want that free Drupal 8 ecommerce theme that you like best to be perfectly adjusted to your own needs.
Is this ecommerce services company IN for customization, too? Or do they stick to assembling pieces provided by an open-source platform when putting together your ecommerce website?
Be skeptical when you're being offered “one size fits all” solutions! When you detect proofs of zero experience or total lack of enthusiasm at the perspective of having to custom-tune those:
ecommerce theme
plugins
modules
… to your project's particularities and to your own future goals.
7. How About Post Launch Support? What if You “Detect” New Issues Then?
Is it a “full-option” type of ecommerce services package that they'll provide you?
Will they be there, ready to intervene, if, after your website' launch, you detect any bugs that escaped the pre-launching testing phase? Or if new issues breakthrough?
Now it's the perfect time to let them know about all your expectations regarding post-launch assistance.
The END! Time to evaluate some “candidates” now and, with this evaluation system at hand, to choose the ecommerce services provider that makes the perfect fit for your project's needs!
Serge Karpyuk / Mar 15'2018
Price, level of expertise and estimated time! These are the 3 main criteria that any organization planning to have a mobile app built use to evaluate potential mobile app development services providers, right?
And yet, the cost of development sure isn't just about the money. Take time factor and commitment, for instance! They, too, get reflected in your bill. A suspiciously short time estimate might be a signal for you that they'll be skipping a crucial step or two from your app's development process.
Also, a “large” team might be a numerous team of enthusiastic and hard-working... junior developers only.
So, how do you properly evaluate your potential mobile app development partner? How do you know for sure whether their services and level of expertise are enough to help them deliver you a mobile app that meets your requirements entirely?
Gaining in-depth knowledge about their team members and collecting reviews from former clients are just some of the key steps to take during your “investigation”.
And since no other “evaluation method” could beat an open face-to-face talk, here are 9 essential questions to ask your potential provider:
1. "What's Your Specific Workflow?"
In other words: how do they usually approach their mobile app projects?
What's their work strategy? What key phases does it include (or exclude)?
Everyone's “boasting” with their adoption of the agile development these days, right? Make sure you go beyond the standard talk about the agile approach and ask them to name the specific phases included in their process flow.
A good workflow would need to include at least these 5 crucial steps:
preliminary research on the type of app to be built, along with all its particularities and specific functionalities to be implemented (analyzing the target audience here included)
a feasibility study
the prototyping phase
the UI optimization phase
the MVP building phase
Do dare raise an eyebrow if your potential “partner in crime” strives to convince you to go straight to MVP.
It's an alarming sign that they're not the professionals that you might want to handle your brilliant app idea.
2. "What Technologies Does Your Team Have a Deep Expertise In?"
Another crucial question to dare asking your potential app development services provider whether:
you've already started working on your app and you're now just outsourcing some aspects of your project; it's vital that this team should be proficient in that particular technology that you're currently using in your project
you haven't yet started your project and you haven't yet chosen the mobile app development technology(s) that will be powering it either; it's crucial to know then how easily this team of mobile app developers can adapt to a new technology along the way
3. "How Many “X Technology” Developers Are On Your Team? Juniors or Seniors?"
Expertise, hard to quantify, but crucial for ensuring that the resulting app will live up to your standards!
Therefore, once you've dug through their never-ending list of technologies that they have a hands-on experience of, go deeper with your “investigations”. Identify just how many developers are familiar with your required technology.
Are they mostly junior or experienced developers?
And, most of all, do dare to ask for some sort of proof of their seniority levels. Some “blind” CVs or even samples of older code would be perfect.
4. "What Would Be Your Time Estimation on My Project?"
And time sure is money!
Do keep in mind that the average time invested in a mobile app development process is of 4-6 months.
Compare the time estimate that this potential mobile app development services provider gives you with this “average time” for developing an... average mobile app.
Next, ponder on their estimate a bit:
if they commit themselves to delivering you your app faster than their competition, then you might want to put their offer on top of your list
if their shorter development time is counterbalanced by a higher price, don't rush to take them off your list!
A higher price might as well be a proof of the seniority level in their team. As well as of an efficiency-boosting workflow that they may be leveraging within the company.
5. "Does Your Portfolio Include Any App Development Projects Similar to Mine?"
And by “similar” I definitely do not mean “identical”. Are they familiar with your industry?
Have they implemented the same functionalities in some of their previous app development projects? Such as integrating a particular payment gateway, for instance?
Have they been working mostly with start-ups or enterprises?
6. "Any Former Clients' References for Your Mobile App Development Services?"
Why should your “research” be any different than that of a potential customer? Someone looking to make a purchase, who usually conducts a multi-leveled research: forums, customer reviews etc.
Therefore, one of the key criteria when evaluating your mobile app development services provider is their former clients' references.
Dare to ask for such recommendations and read client reviews on research company sites, such as Clutch.co, for instance. They do a wonderful job combining multiple evaluative metrics for identifying the leading companies in various industries (interviewing former clients being their no.1 research technique)
Ask questions about some of their past projects: the challenges they faced, solutions that they've come up with, time invested in those projects etc.
7. "How Much Will My Project Cost? And What Does The Price Tag Cover?"
For putting a price tag on is equally important as knowing from the very beginning precisely what services your “bill” would include.
Speaking of which, here are some of the fixed aspects that you should make sure that will get included in that price estimate:
research & preliminary consultancy
UX prototypes, mockups
design
mobile app development
project management
all infrastructure costs
guarantee
licenses
Also, a key parameter to use when you're “weighting” their cost estimate is the seniority level of the developers that will be assigned to your project.
Since their proven experience and expertise would automatically influence the price.
If the given price is suspiciously low, you might want to question those developers' overall level of expertise. Which, in the end, might lead to longer development times.
So “cheaper” might turn out to be... more expensive actually.
8. "What Files Will I Be Given Access to During the Project?"
Transparency is a strong indicator that this might just be the mobile app development company that you want to partner with.
Don't hesitate to ask about the files that you can access during the project. Wanting to know what's going on, at every stage of your future app's development process, is only legitimate.
And speaking of the files that you should be entitled to have easy access to, let me mention just a few:
time reports
weekly updated staging and production environment
source code
test environments/demos
the project management's dashboard itself (whether it's Jira, Taiga or maybe Trello that they're using)
The more involved you'll be in the process, the quicker you'll detect issues that you dislike or simply specifications that you'd like to create. And the more chances will be for the final product to meet your requirements entirely!
9. "How Do You Communicate With Your Clients Throughout The Projects?"
And probably this is precisely the question that you should be starting your “interview” with.
Knowing what:
communication tools they'll be using (Slack, Rocket)
what project management boards
what time you can contact them at, their overall availability and response times
the calls' frequency' how often you'll be getting in touch with the team working on your project
… is vital. Zero or poor communication and timeliness risks to turn all expertise, efficiency-enhancing workflow, conveniently low price and short development times into... nothing but “details”.
What if you want to make some recommendations? Or to inform the team about some late scope changes?
What if the team itself needs further clarifications from you?
Now it's the perfect time to express your expectations when it comes to this part of your future collaboration: communication.
And also, to have your doubts if the potential app development services provider doesn't seem too open to implementing your suggestions. To committing itself to frequent calls and so on.
The END! These are the 9 crucial questions to ask or the 9 things to look for in a new mobile app developers company that you consider collaborating with.
Would you have added a few more? If so, what other questions?
What is your own criteria when you're evaluating potential development teams in order to assess if they're the right fit for your app project?
Adriana Cacoveanu / Mar 10'2018
Here's where you probably stand now: you need to integrate all your on-premise systems or cloud (or both) applications and to automate them in a perfectly orchestrated infrastructure! And you're asking yourself: “Should I go with Mulesoft's capabilities?” “What if I evaluated other integration solutions, as well?” “What are my other options?” “Which are the Mulesoft alternatives?”
Since it's been a while since Mulesoft's Anypoint Platform's been competing with other technologies for users' preference in the enterprise integration software landscape.
And competition sure is fierce, and so is your paradox of choice:
each technology comes with its own type of infrastructure
… geared at delivering integration as a service
each one's packed with specific capabilities, designed to meet particular integration needs
MuleSoft Anypoint Platform: A Few Words
A comprehensive, yet succinct definition would go something like this:
MuleSoft provides companies with a next-generation integration platform (Mule ESB & CloudHub) for connecting all their systems (SaaS and enterprise apps) both in the cloud and on-premise.
“And how does it work?” “What can you achieve by using it?” You might then ask yourself.
Here's my three-version answer to your legitimate questions:
MuleSoft manages and secures the continuous data flow between all the existing systems in your organization
it provides your team with self-serve exiting APIs, thus supporting their innovative initiatives
it practically unlocks data via APIs, “injecting” it in the indicated external apps and systems from your enterprise infrastructure
Now, if I am to briefly point out some of MuleSoft Anypoint Platform's biggest advantages:
it enables you/your team to deploy your application on cloud with utmost ease
it enables your team of developers to easily put together some truly complex orchestration flows: all it takes is some drag & drop on the user-friendly dashboard
the containers that it provides and its conveniently simple, user-friendly graphics can only streamline developers' workflow even more
it supports interaction with other platforms via web or REST services
it complies with all major connection and data representation standards
it enables simple and fast APIs exposure
And by far one of the biggest edge that Mulesoft has over its competitors:
It's an integration platform that enables different existing apps and systems to connect with each other, acting as a bridge transporting data back and forth between them; and this data flow takes place within your enterprise or across the internet
Mule ESB still is one of the most easily (and widely) integrated applications.
And now, it would be only fair to point out some of MuleSoft's limitations, as well, right?
it is particularly suitable for complex integration scenarios (since it supports Java code, as well)
in short: you'll need to consider having an experienced Mulesoft developer (with some Java background) in your team
you might want to be able to interact with MuleSoft support right from the design environment (which is not yet possible)
when it comes to dataweave mapping, you'll need to ensure, yourself, that all the fields are mapped, by inserting the right names; you can't rely on some sort of control mechanism to double check that for you instead
structuring a process hierarchy is not exactly “piece of cake”, since you'll have to set up flows and sub-flows in the very same XML configuration files
Apigee: One of The Most Popular MuleSoft Alternatives
And what makes it such a popular alternative (and implicitly one of MuleSoft's biggest competitors) is the fact that almost all components can be scaled horizontally!
But there's more! More reasons why many companies choose Apigee over MuleSoft when looking for the best integration software to “power” their own integration scenarios:
it provides very good documentation (plus a blog), covering all the details of the most “popular” failures and valuable advice on error handling
it empowers new users to get started right away, with very little guidance needed: they get to develop a Proxy and APIs right away
a conveniently easy to use console
Tibco BusinessWorks
Another “rival” that the Anypoint Platform needs to share its worldwide fame with!
Here are some of the strong points that make Tibco BusinessWorks the no.1 choice for plenty of enterprises looking to seamlessly and effectively interconnect all their systems:
it comes “packed” with lots of integration options: you get to test and to troubleshoot the whole process within the designer, you can write (a file activity), then automate a process in just a few hours and to easily deploy it in the Tibco Administrator
it's conveniently easy to monitor
it handles data manipulation and integration of heterogeneous systems remarkably
it makes transforming and analyzing data, as well as managing error cases, ideally quick and simple
you get to enable communication between multiple different systems without the need to set up custom APIs
short time to market
it supports legacy system integration
it supports REST services development
JitterBit
What is JitterBit's edge over Mulesoft? What convinced me to add it to this list of “MuleSoft alternatives”?
It's easy to use! It's a simple way for enterprises to connect all their apps, devices and critical data that they need to get “flowing” for running their business!
"Simplicity" and "ease of use" are the 2 keywords to describe this integration solution.
And here are some more reasons why JitterBit's on this list:
it's easily customizable
it's built to connect a lot of different sources and targets in the “data flow” circuit (SQL DB, Salesforce, CSV, iSeries, IBM)
it enables your team to set up operations (and to apply changes to, when needed) quick and easy, so you can leverage your entire infrastructure within minutes
not only that it sync data collected from multiple different systems, but it uses multiple data formats, as well (both for intake and output), which takes the burden of writing custom ETL scrips off your back
no steep learning curve
Zapier
How can Zapier here, one of the Mulesoft alternatives, meet your integration needs?
It empowers you to automate tasks performed between other online services: Gmail, Salesforce, Basecamp, 249 etc.
And here's how Zapier's “arsenal” of features and functionalities looks like; the ones that you get to tap into for connecting and automating all your apps nice and easy:
automated & connect applications
automated workflows
easy automation
developer platform
fast build processes
Informatica Cloud Data Integration
You sure aren't nickel and dimed in choices when it comes to data integration tools!
Informatica Cloud Data Integration is yet another full-featured, complex solution to consider:
it comes with all the capabilities needed for connecting all your on-premise/cloud applications and make them share data
no matter what type of apps, since it supports NetSuite integration, Eloqua, Salesforce, Workday, Marketo, SAP, Oracle
it enables you to extract data from your ERP systems, to transform it and then to “inject” it into your operational data stores
Oracle Integration Cloud Service
As its name “divulges”: it's Oracle's cloud-based integration platform that we're putting into the spotlight here!
Similar to the Mule app since it, too, provides a data environment in exchange, Oracle ICS's “job” could be summarized as follows:
It provides a user-friendly web-based interface which makes possible for “citizen integrators” to peform basic mapping between the interconnected (cloud) applications.
But the 2 key features that turn it into one of the Mulesoft alternatives are:
unlike Mule, Oracle provides an enterprise information integration, too (EII)
it provides several different adapters, suitable for a wide range of cloud-based business applications
Practically, with just a few clicks, you can set up a connection to the Oracle Sales Cloud, SAP, RightNow, Salesforce, Oracle E-Business Suite and the list can go on...
And now to mention just a few more of Oracle's strengths:
it's easy to use (and I've just mentioned here its user-friendly web-based UI)
it takes just a few clicks to access your integration platform; no need to bring your own servers or software to the table
MuleSoft vs Dell Boomi
Not only that it “spoils” its users with an easy to use UI, drag and drop convenience for creating new processes and excellent support, but there's a whole “pile” of other features that make Dell Boomi one of the Mulesoft alternatives:
it provides a multi-purpose PaaS
integration cloud
cloud-to-cloud integration
B2B integration
multiple tenant platform
SaaS-to-SaaS integration
Furthermore, if I were to highlight its biggest strengths, I'd pick up 3 main benefits that you can reap from choosing it as your integration solution:
getting a simple integration up and running will only take you about a couple of hours
great visual interface that will speed up most of your team's tasks
you get out-of-the-box connectors to Taleo, Salesforce, plus many other popular SAAS
But (for there is, indeed, a “but”) there are also 2 discouraging drawbacks that I have to point out to you:
the XML split does cause some irritating issues
it's overly “picky” when it comes to the data format and the data type that it accepts
Now, if I am to sum up this “MuleSoft vs Dell Boomi” comparison in just one succinct, yet complete phrase, it would have to be the following:
While Dell Boomi's geared at providing you with comprehensive solutions for cloud integration, Mulesoft's “specialized” in API-based integration.
This is the key difference between the two integration solutions!
In Conclusion
Determine and evaluate your integration needs first! It all boils down to this...
And that way before you jump to weighting each one of these integration technologies' strengths and limitations!
For it's only after you've defined your needs that you should start looking for the software capable to meet them.
Serge Karpyuk / Mar 05'2018
Simplify! This is the right way to go if you're “obsessing” over your productivity as an app developer. Declutter your toolbox and keep only the truly essential Android app development tools in there!
But which are they?
What are the tools for developing Android applications that shouldn't miss from any developer's personal “arsenal”?
The most effective ones when it comes to helping you:
become (even) more efficient by improving your workflow and thus speeding up your development process
develop higher-quality apps
And this is where this blog post here comes to “the rescue”! It's a selection of THE fundamental Android app development tools that you should keep at hand (take it as your productivity-boosting toolkit).
Ranging from:
IDEs
to emulators
to design tools
to game engines
… and geared at streamlining your debugging, your performance-checking, they make the best Android developer tools to rely on in 2018:
1. LeakCanary
Stay vigilant and alert for detecting any memory leaks in your Android apps right on the spot! But mind this doesn't take too much of your valuable time!
Instead, rely on this powerful tool in your developer's toolbox for identifying them. It will take this time-consuming “burden” off your back and alert you any time it tracks down a memory issue threatening your app.
Moreover, LeakCanary provides you with a full stack trace so you can have those memory leaks fixed right away, too.
2. AIDE
You'll have a crush on this tool if:
you're a beginner, struggling to get started with that innovative Android app idea of yours (and, hopefully, to turn it into the next big thing in terms of Android app development)
you're planning to learn Java and Android SDK: it will practically enable you to follow your favourite tutorials with highlighted code and then to get them tested... in real-time, on the very same device!
In short: the irresistible advantage of AIDE and the very reason why it's got included in this selection of essential Android app development tools is that it runs on Android!
Just imagine it:
You get to develop your Android app on your device, nice and easy, then you get to test it... on that very same device! This is the true “superpower” that this development tool provides you with!
Note: don't expect it to be free, for it isn't, nor to “spoil” you with a full load of features.
3. Vysor
The power that you'll unlock by including this tool in your smartphone application development process? It mirrors your real device on your PC.
And this does turn into a true power if you're one of those developers who hate building their apps on emulators, yet they crave the advantage of using one.
There's more! Vysor will even mirror your live app demos on projectors and big TV screens.
So, if you think that this functionality matches your own work style, that it streamlines your workflow and helps you create a better app with greater ease, go for it!
4. Stetho
Debugging native Android apps will never be the same again!
That if you use this open-source platform wearing Facebook's signature here when you go “bugs hunting”.
And not only that it makes your debugging work so much easier, but it's also geared at landing you a much needed helping hand with your:
inspecting the SQLite database
checking the View hierarchy
monitoring network operations
A debugging tool that shouldn't miss from your toolkit!
5. B4A, One of “Speed-Injecting” Android App Development Tools
For “rapid development” is what you'll achieve by leveraging this tool's features.
And these are:
the ability to develop Android apps using the much simpler BASIC programming language
a visual editor for manipulating your views to your liking
wireless debugging
In short, B4A (Basic for Android) makes such a convenient IDE and interpreter enabling you to create your app in a simpler procedural programming language.
Plus, it comes packed with other advanced features to speed up your development process (as above-mentioned).
6. Android Studio
The “Holy Grail” of all Android app development tools!
Officially it's the IDE for Android.
But in reality, it's your own “Swiss knife” to use as an Android developer! Since it plays multiple roles crucial for your mobile app development workflow:
it's a compiler that you get to leverage to create a file system for arranging your app project, to create multiple APK files
it's an editor for the programming language that you'll decide to use in your app's development process (whether it's Java, Kotlin, C++...)
it's an XML editor (providing you with a “design view”, as well, that will guide you in displaying your app's elements on the screen; crucial for keeping up with Google's Material design guidelines)
it also includes the Android SDK itself (yet, the Java SDK needs to be downloaded separately)
In terms of pros and cons, do expect a steep learning curve for developing with Android SDK and Java. But once you've got through it, do expect to gain access to unlimited support, to a whole bundle of advanced features and to unmatched integration functionality.
From this standpoint, Android Studio is the “can't live without” tool-set for any developer!
7. Codota
Does this scenario sound familiar to you?
You hit a dead end down your app development roadmap and you need to go over to Github or StackOverflow and have a quick look at some code examples!
Well, Codota enables you to do precisely that, but without having to leave your IDE.
Talking about speeding up your development process, right?
8. GenyMotion
Far gone are the days when GenyMotion used to be “just” the developers' top choice whenever they wanted to create their apps using an Android emulator.
It has now grown into a complete platform whose powers you get to harness for:
developing your app
testing it
deploying it
Do consider it as a “candidate” to be included in your own toolbox of Android app development tools essential in your work this year.
9. Visual Studio with Xamarin
These days you get Xamarin right out of the box with Visual Studio, Microsoft's IDE.
One supporting a whole wide set of languages: JavaScript, C#, VB.net, and others, too, via extensions.
And what's the “deal” with Xamarin? What makes it “essential” for your toolbox?
it enables you to develop cross-platform apps using C# (have you been “toying” with the thought of developing an app both for Android and iOS using the very same code?)
… to test them on different devices that are connected to the cloud
A word of caution: accessing and working with Java libraries isn't really “a child's play”, do be prepared for that; also, you need to accept that you'll be losing some of Google's cool integrated features and support.
10. Source Tree
It makes any smartphone app developer's trump card making his work on Git as efficient as it can get!
Basically, this tool's aimed at making Git cleanly organized so you can visualize all your work there — commits, changes, branches — in the form of an easy-to-navigate-through structure. And all this without the need to use the command-line!
One that can only boost your productivity, as it helps you sweep through Git with great ease!
11. Fabric, One Those Powerful Android App Development Tools You Should Be Using
And its power lies in all the capabilities that it's been invested with. It provides you with a whole set of features designed to help you:
develop
deploy
extend
… your Android apps' functionality fast and easily.
12. Eclipse
Once developers' very first choice when they started selecting the Android app development tools to build their toolboxes with.
This until it got “dethroned” by Android Studio!
And yet, Eclipse should still be part of your toolkit. It's an IDE that supports a wide range of programming languages after all (Java with the Android SDK here included).
Note: still, do not expect it to get you “spoiled” with out-of-the-box support, like Android Studio does, so be ready for some setting up work!
13. InstaBug
A tool that takes “bug hunting” to a new level!
Practically it empowers users to share video, audio recordings, screenshots, detailed logs whenever they detect anything suspicious in your app.
And these user-generated “signals” become priceless in your constant attempt to keep your app bugs-free!
14. Unreal Engine
If it's a cross-platform, feature-packed game app that you're planning to build, this game engine might turn out to be your best “ally”!
Here's why:
it provides easy support for Android
it's open source
when it comes to graphics, it does have an advantage over its “rival”, Unity
15. Takt
Team up with Takt in your major lags and bugs detecting “adventure”!
This library will help you check your app's FPS thoroughly and spot down bugs right in its development phase.
For you don't want them to linger on in there once your app's being used in its production phase, now do you?
The END!
I know what you might think right now:
Each developer's toolbox depends solely on his/her preferences, goals and personal work style.
It's perfectly true and I've anticipated this “objection” myself. Therefore, I've grouped here only those truly essential Android app development tools that one should “carry” in his/her toolbox.
... irrespective of his work style and goals set for his/her app.
Silviu Serdaru / Feb 24'2018
When to use REST? What are some practical use cases of REST web services? How does it work? What's the “catch”, why has this new architecture for web services had such an impact on the industry? How is it any different/better than SOAP? Why use RESTful web services after all?
“Tormented” by all these questions related to the REST approach/alternative to building web services?
Relax now, you'll have your answers in a minute (or a few seconds)!
For here are the REST-related “enigmas” that I commit myself to solving in today's post:
What is REST and how does it work?
Which are the specific use cases for building web services using the REST architecture?
What's driving it? Why is this technology increasingly popular?
What sets REST apart from the traditional SOAP approach to web services?
When NOT to use RESTful web services?
And now... the answers that I promised you:
What Is REST and How Does It Work?
Here are some valid answers to all your “What?” questions: “What is REST?”, “What are web services”, “What are RESTful web services?”
REST is the native API of web browsers
REST is how one creates web services
web services are... the future of everything: creating and publishing APIs that would do CRUD (create, read, update and delete)
… thus making machine-to-machine communication possible, making apps' functionality accessible to multiple users and external systems
RESTful web services are those resources on the web that can be tapped into for retrieving certain information
“And how does it work?”
First of all, we should get one thing straight: REST is not an official standard! It's more of an architectural style, the one organizing a network of systems, where the “systems” are basically servers and clients.
Here's how it works:
Clients make a request to the web servers; the latter process it and, in response, return the appropriate web pages. And in this request-and-response equation, RESTful web services are the very resources on the web that servers tap into for retrieving the requested data.
Does this definition shed any light on your RESTful web services-related questions?
Why Use RESTful Web Services?
Here's the actual context where the RESTful web services technology emerged and “grew like a beanstalk”, with a huge impact on the industry:
The web “exploded” and, starting with web 2.0, the interaction between websites and client apps, between multiple sites, multiple devices, sites and databases, became increasingly intense. And more and more “demanding”, calling for a new technology that could handle and streamline this communication taking place on the web.
And here's where web services and REST, a new way of building them, emerged!
The REST architecture is designed to build:
maintainable
lightweight
scalable
… web services, which make retrieving the data requested and “exposing” all that information far less cumbersome.
As compared to the conventional SOAP/XMLRPC web page-scrapping method.
Data's being passed on the web, from one website/app/device/database to another, faster than ever these days. Just think about all those websites incorporating Twitter and Facebook content!
Or of websites “capturing” data coming from multiple sources: financial information, sales data, online communities...
RESTful web services is the technology that streamlines all these intense data “harvesting” processes!
This is the answer to your “Why use RESTful web services?” question.
When Should You Use RESTful Web Services? 5 Practical Use Cases
There are specific use cases when you should go “the RESTful way”.
Adopt this approach to building web services if:
1. In your distributed app it's crucial to keep the coupling between client and server components to a minimum:
you'll need to be able to update your server frequently, without having to update the client software, as well
your server's going to be used by multiple clients, yet you don't want them to have control over it
Just make sure you follow all the REST constraints for achieving this kind of basic level of coupling. Maintaining a purely stateless connection will be challenging, but not impossible if you “follow the rules”.
2. It's a custom, on-demand digital product that you're developing
Such as an Ubercart or Drupal online store that you're putting together on a remote cloud server:
you set it up
create a suitable architecture that would scale the environment if/when this your custom product goes viral
3. You want your game's high scores and user community forums to be displayed both in-game and on the web
Let's say that you're a mobile/console game developer facing the above-mentioned “challenge”.
In your practical use case you can:
have your Drupal site publish an API, using Services (thus doing “CRUD” with the data that needs to be “harvested”)
leverage a RESTful type of communication with the Drupal site in order to retrieve that data and have it displayed in-game, on mobile/console, too
4. You want to create a user alert system on your e-commerce website
One that would alert your customers, via your e-commerce mobile app, whenever a product that they visualized becomes available (or its price drops).
Also, you want those alerts to pop up in an iPhone app and on Facebook, too.
And the solution is:
Your Drupal site (for yes, it's a Drupal site that you own in this scenario) will use Services & a custom module to have the example.com/alerts/uid API published. And it's this specific API that the iPhone app and Facebook will use for manipulating that particular content to be shown in the user “alerting” message.
5. You want to provide (paid) access to commercially-controlled data
Such as movies, music, stock or trading data.
Imagine that you own an event venue and you publish a ticketing API. People (such as ticket brokers) will be charged for gaining access to it.
In short: RESTful web services for can be used for all kinds of commercial activities, as well.
Just use them to create and to publish the API that will do CRUD with precisely that commercially-controlled data that people are willing to pay for gaining access to!
What Sets REST Apart from the Traditional SOAP Approach to Web Services?
Of simply put:
Why use RESTful web services instead of the traditional SOAP-based web services?
Here's a list of strong arguments:
with REST, all that intense data interaction is more lightweight; it doesn't weight so heavy on your web server like a SOAP page-scrapping method would
with REST, only the specifically requested information gets retrieved, instead of having whole web pages scrapped off the “target” content (like with the SOAP approach)
the architecture is way simpler than the SOAP one and it leverages the standards (and protocols) of modern web
And what does this last argument even mean?
It means that heavy SOA (Service Oriented Architecture) is shifting to lightweight WOA (Web Oriented Architecture), since these days apps need to tap into a web that's “packed” with REST resources.
And so, instead of leveraging a few point SOA services, data gets collected and displayed via millions of granular REST resources. Developing arbitrary apps, that interact over the network, has become conveniently easier.
Complex things (systems) get simplified!
When not to Use REST Web Services?
There are — as I've just pointed out — use cases when the REST approach is the perfectly suitable one: business-to-consumer apps.
But there also are specific cases when RESTful web services don't work so well: B2B apps!
Take this practical example here:
A bookstore might find it a bit more challenging to make a volume purchase from an online vendor as compared to a regular customer.
It would need to “juggle with” several apps to track shipment, sales, determine re-orders etc. And where do you add that one app might need to be re-entered into other apps, turning the entire process into an overly complex, hard-to-manage one.
The END!
Have I managed to answer your “Why Use RESTful web services?” question or not quite? Or just partially?
Do be honest and, if it's the case, share your other REST inquiries and dilemmas with me! Or point out those use case examples or explanations presented here that you'd like me to shed some more light on.
RADU SIMILEANU / Feb 23'2018
So you've made up your mind: it's Magento “fuel” that will be powering your e-commerce website. And now you're facing challenge no. 2: Magento Enterprise vs Magento Community!
Which one of the 2 Magento platform's editions is right for you? What are the key differences after all?
Which one's best suited to your current feature needs? And how about your daring goals and growth plans? Which one's scalable enough to accommodate your expansion plans?
The quickest/easiest/surest method to “find your match”: confronting your current requirements with each one of the 2 Magento editions' sets of features and functionalities.
Note: the method is the same if you're having a Magento vs Drupal Commerce "dilemma" instead, for instance.
Then draw the line and just do the math!
So, without further ado, let's dig up the:
Magento Enterprise features
Magento Community features
And draw the profile of the “ideal” online store for each one of the 2 Magento editions
1. Is Magento Free? Price Tag vs Value
With or without a price tag on.
This is the most rudimentary “Magento Enterprise vs Magento Community” comparison that one could make.The first one does come at a price, while the open source version is free to download off the internet and, implicitly, free to use.
And now the question that arises is: does the price tag come with added value, as well?
Without question!
The Magento Commerce edition — merging, since June 2017, the Enterprise and the Magento Cloud Edition — comes not with 1, but with 2 price tags on. Along with a heavy load of enterprise-level features and high-end functionalities.
And it's your own needs and goals that will tell you whether... it's worth it. Whether a free variant, with basic online selling capabilities or a bulky feature set, with a heftier price tag on, suits you best.
2. Top Magento Open Source Features
The open-source community edition is Magento's downloadable version. And, as you can expect, it provides much of the same functionality, same basic performance and shares the core features with its enterprise counterpart.
And here are some of these core features that you can power your e-commerce business plans with and get your functional online store up and running in no time:
modern tech stack
regular updates
automated code merge
payment integrations
scalability
automated testing
flexibility (install the extensions of your choice to ramp up your site's functionality)
responsive layout
fast product import
integrated video & marketing tools integration
customizable & mobile-compatible admin dashboard
guest checkout
registered customers
A word of caution:
Determine your site's specific goals and needs right from its planning phases.This because implementing specific functionalities from your “wishlist” might require you to install additional plugins and to craft some custom code.
3. Does Your e-Commerce Business Fit the CE Client Profile?
It does if your answer is “Yes” to most of the following questions:
Is it a small-scale e-commerce project that you're starting?
Are you planning to keep extension/plugins implementation to a minimum; can you already predict that there will be no need for custom modules in the future?
… no need for 3rd party design and web development teams to handle your not so complex site project?
Are you looking for an e-commerce platform that should provide you with the basic features needed for getting your store up and running?
On a shoestring budget?
No plans to grow from a small e-commerce site into an enterprise online store? Or to enter new markets?
Is it a versatile platform that you're looking for? One leveraging open source for delivering you a significant load of basic plugins and templates to custom-tune your store with?
… and to deliver rich experiences to your customers with?
In short: Magento's open source community edition (CE) is built, from the ground up, with the basic needs of small e-commerce business owners in mind.
It's a turnkey solution for small sites.
Note: having just a few products doesn't necessarily mean that your site's needs are basic. Therefore, this is no indicator that you should opt for Magento Open Source.
4. Magento Enterprise vs Magento Community: Do You Have Any Expansion Plans?
Just think these growth plans through and the sooner the better:
Would you like to enter new markets at some point in the future?
Would you like to ramp up and customize your site's current functionality at some point?
How much do you want it to grow? Is scalability a critical feature for you?
Do set up your e-commerce goals at this phase of the project!
For once you've got your site running on Magento Community (or Open Source), switching to Magento commerce will be more challenging than you expect:
the two editions' code bases are different
you'll need to give your website a full redesign
the Magento Open Source templates that you will have installed won't work in Magento Commerce
So, take some time to think about the future, your e-Commerce site's future...
Since “upgrading” it, later on, to Magento Enterprise, comes with inconveniences and compromises that you'll have to make (e.g. losing some of your team's hard work).
5. Top Magento Enterprise Features
Magento Commerce — the 2-in-1 Enterprise & Cloud edition of the platform — provides you with enterprise-level features right out of the box.
Along with the price tag comes the added value transposed into a set of online selling capabilities that you don't get with its open source counterpart. So, do consider this when you're having a Magento Enterprise vs Magento Community dilemma.
Capabilities geared at meeting your enterprise online store's complex demands from an e-Commerce platform.
And here are the enterprise edition's top features:
PCI compliance
MAP pricing
cloud hosting
24/7 technical Magento support, including a dedicated account manager
RMAs
visual merchandiser: drag & drop UI and sorting rules for easily organizing your product category pages by variables of your choice (best/newest products, by color etc.)
segmentation & targeted promotion features: personalize your customers' shopping experiences
full-page caching
improved UX: features such as wish lists and gift registry
advanced marketing features: it provides you with reward points that you can use for setting up your own customer loyalty programs
better performance: expect better page loading times as compared to Magento Open Souce
geo-targeting
B2B features: create custom catalogs and multiple payment options, set up multiple buyers, create several company accounts etc.
content staging
enhanced security out-of-the-box: PA-DSS payment bridge, credit card tokenization...
separate databases for Product data, Checkout, Order Management: a major performance boost
improved tax calculation functionality
In short: Magento Commerce offers you more out-of-the-box functionality as compared to Magento Community, where you'd need to engage in custom coding and extension implementation to have these features “injected” into your site)
6. Go With Magento Commerce If...
… you plan to launch a large, enterprise-sized online store or a small-scale one, but you're “nurturing” major expansion plans!
In this case, the Magento Enterprise vs Magento Community “dilemma” is an easy one: Magento Commerce (now including the enterprise version, as well) is perfect for you!
For your big, “needy” website site, that you expect to:
accept non-standard forms of payments, too (e.g. check or cash in hand)
enrich your customers' shopping experiences with functionalities such as gift registries, wishlists, buy gift cards
provide you with advanced inventory management and detailed reporting functionalities, with no need to install any extensions (or to write custom code) for this
… definitely needs a more robust, premium-grade features-packed platform.
And Magento Commerce is the one.
The END!
So, how about now? Do you find it any easier to decide for one of the 2 Magento editions? Do any of the eCommerce business needs and expectations that I've outlined here match your own?
If so, which of the 2 feature sets — Magento Enterprise's and Magento Community's — suits them best?
Serge Karpyuk / Feb 22'2018
The future belongs to those that not only store their heavy load of documents in a conventionally digitized form, but also “maneuver” it with utmost efficiency: have instant access to it, track it, retrieve it, organize it. How? By leveraging the perfectly suited open source document management system!
Speaking of which, I'm sure you've already got your “feature wishlist” ready:
it should be easy to learn and to use
it should provide you with version control
… with cloud access functionality
… with document workflow
… with document tagging
it should come be equipped with an intuitive, user-friendly interface
it should be free
But since it's open-source document management software that I'll introduce you to in this post here, feel free to take this last “wish” off your list!
OK, so this is how the ideal, the one-size-fits-all-contexts DMS looks like. But which one's the best for your own business?
The one that best meets your specific business needs? Your organization's unique requirements?
For narrowing down your choices you should submit yourself to this quick questionnaire:
What type of documents will you be storing through your future DMS?
Where will you/your team need to access them? In a single office, across an entire infrastructure of offices scattered around the globe, on mobile devices?
Is it a plug & play, a full-featured custom solution that you need, or just the software to meet your needs? Which (your needs) are the “standard” ones, fitting into a particular market.
What is your budget?
And while you're still pondering on some of your answers, let me narrow down your choices even more. To a list of 6 document management systems worth your attention:
1. Alfresco, On Top of The List of Any Organization Looking for The Right DMS
Geared, from the ground up, to meet the particular requirements of those enterprises having critical documents to store and manage.
Therefore, the best answer to your “What Is Alfresco?” question would have to be:
"A robust enterprise open source document management system, fueled on open source, powerful enough to automate document-intensive processes within an organization"
And here are some of its most “tempting” features:
its complex user role system ensures effective collaboration across large teams/departments
robust content repository
freedom of customization: feel free to tailor custom workflows and content models to perfectly suit your specific needs
its collaboration web interface is geared at boosting team productivity
public source code: it leverages core open standards
access to a full set of add-ons and community-maintained extensions that you get to extend your DMS's functionality with
it seamlessly accommodates any productivity app \that you may want to integrate later on: Google Docs, Microsoft Office etc.
Alfresco mobile apps (for Android andiOS)
Should I also point out that NASA and the European Union, themselves, capitalize on Alfresco's:
open standards
unparalleled robustness in handling massive amounts of content
convenient extensibility
unmatched freedom of customization that it “spoils” its users with?
2. LogicalDOC Takes Open Source to a New Level
An open-source document management system that comes in two flavors:
Professional
Community
A highly versatile one, that can be used in any web browser, perfectly “equipped” to:
handle a significant load of documents
boost the team's productivity while enhancing team collaboration, as well
Some of LogicalDoc's top features are:
quick & easy installation and intuitive use
multilingual full-text indexing
task manager & events log
version control & document searching
local file system
reporting & statistics
task manager & events log
Web Services (SOAP & RESTful)
import from ZIP archives
And the list is literally an endless one! Do consider this feature-loaded, free open-source document management software when looking for the right DMS to meet your requirements.
3. Seed DMS, A Powerful Open Source Document Management System
If for you “the best document management system” means “the most powerful one”, then you might want to take the Seed DMS for a test drive.
It's mature enough, so it's already built a strong reputation around it, and it's enterprise-ready. Built to store and share huge loads of documents.
And now, here are its other strong points worth your full attention:
real-time collaboration
version control
users & groups management
HTML documents editing
built-in metadata support (author, description, keywords)
document review & approval workflow
full-text search
functionality for creating online presentations
multi-level content directory, which supports +32000 documents
Should I go on? For, the deeper I delve into the pile of Seed DMS features, the more I find. Or even better: how about you give this open-source document management system a chance and see whether these features do meet your organization's particular needs.
4. Feng Office: More Than “Just” a DMS
Why “more”? Because you get so much more than just the “standard” document management and team productivity-enhancing features.
And these additional, beyond the “conventional” functionalities are:
Task management
Time tracking
Workspace management
Knowledge management
Its set of features also include:
automatic alerts & reminders
notes
calendar
timesheet
wiki & forum support
reports & tags
workflow processes
task templates
5. OpenKM, A Conveniently Extensible DMS
And extensibility, coming from its OpenKM plug-in architecture, is not its only “superpower”.
Versatility comes right after since it practically supports:
all web browsers
all major DBMS databases
all common file types (OpenOffice, PDF, Office, XML, HTML, JPEG etc.)
Moreover, it empowers teams to set their own rules (logic) for automating the documentation process. For example, imagine that you'll need to set up a rule specifically for moving a particular document to a new destination.
You can do that with OpenKM!
And now, the (almost) full list of features that this open-source document management system has been supercharged with:
workflow
OpenMeetings integration
document encryption/decryption functionality
automatic key extraction
antivirus integration
web services API
OCR integration
HTML editor
functionality to create new documents leveraging pre-built templates and forms
Dropbox integration
mobile interface & Google apps synchronization
metadata navigator (along with categories, thesaurus, keyword...)
6. Kimios, The Best Alternative to the Heavy Document Management Software
If it's an alternative to the robust, heavy “document managing machines” that you're looking for, lightweight Kimios make the perfect fit for your needs.
And it's not just its lightness that convinced us to add it to this list of document management systems, but its entirely service-oriented architecture, too (among others).
This means that it follows the client-server model: Web client, Kimios for Office, Kimios Explorer, and all the other supported third-parties are connected to the main Kimios server.
To its central server, “in change” with exposing the web service layer covering Kimio's features.
Speaking of which (this DMS's features):
repository customization using metadata
customizable search engine
document-centered functionalities: create, delete, update
check-in-/out feature
version control
user rights management
bookmarks documents (along with creating bookmarks and advanced requests functionalities)
And it goes on and on... and on.
Note: Kimios does integrate with Microsoft and Windows Desktop environment, but only under commercial license!
The END! These are the top 6 open source document management systems that you should consider selecting the right one for you from. And this no matter how your own list of feature needs& specific requirements might look like.
Serge Karpyuk / Feb 17'2018