My Blog List

Monday, March 4, 2024

Understanding JSON and BSON: Types, Differences, Advantages, and Disadvantages

JSON V/S BSON

In the world of modern web development and data interchange, JSON (JavaScript Object Notation) and BSON (Binary JSON) stand out as two widely used formats. Both are lightweight, human-readable, and easy to parse, making them popular choices for transmitting data between systems. However, they have some key differences that make each suitable for different use cases. In this article, we'll delve into JSON and BSON, exploring their types, differences, advantages, and disadvantages.

JSON (JavaScript Object Notation):

JSON, introduced in the early 2000s, is a text-based data interchange format derived from JavaScript. It has become the de facto standard for data exchange on the web due to its simplicity and readability. JSON represents data as key-value pairs and arrays, making it easy for humans to understand and machines to parse.

Types in JSON:

  1. Object: An unordered collection of key-value pairs enclosed in curly braces {}.
  2. Array: An ordered list of values enclosed in square brackets [].
  3. String: A sequence of characters enclosed in double quotes "".
  4. Number: A numeric value, which can be an integer or floating-point.
  5. Boolean: Represents true or false.
  6. Null: Represents an empty value.

Advantages of JSON:

  • Readability: JSON is easy for humans to read and write, facilitating debugging and development.
  • Language Independence: JSON is language-independent, meaning it can be used with any programming language.
  • Lightweight: JSON is lightweight compared to other formats like XML, making it ideal for network transmission.
  • Support: Almost all modern programming languages provide built-in support for JSON parsing and serialization.

Disadvantages of JSON:

  • No Binary Support: JSON is text-based, which means it is not as efficient in terms of storage and bandwidth when compared to binary formats.
  • Limited Data Types: JSON supports only a limited set of data types, lacking support for binary data or dates.
  • Verbose: In some cases, JSON can be verbose, leading to larger payloads compared to more compact binary formats.

BSON (Binary JSON):

BSON, developed by MongoDB, is a binary-encoded serialization of JSON-like documents. It extends the JSON model to provide additional data types and performance improvements. BSON is particularly suited for storing and transmitting data in MongoDB databases.

Types in BSON:

  1. Object: Similar to JSON, BSON objects are unordered collections of key-value pairs.
  2. Array: Ordered lists of values.
  3. String: Sequences of characters.
  4. Number: Numeric values.
  5. Boolean: Represents true or false.
  6. Null: Represents an empty value.
  7. Date: Represents a date and time.
  8. Binary Data: Represents binary data.
  9. Regular Expression: Represents a regular expression pattern.

Advantages of BSON:

  • Efficiency: Being binary-encoded, BSON is more efficient in terms of storage and bandwidth compared to JSON.
  • Extended Data Types: BSON supports additional data types such as dates, binary data, and regular expressions.
  • Traversal: BSON is designed for efficient traversal and manipulation, making it well-suited for database storage and retrieval.

Disadvantages of BSON:

  • Complexity: BSON is more complex than JSON due to its binary encoding, which may increase the difficulty of debugging and development.
  • Limited Language Support: While BSON is widely used in MongoDB, it may not have as broad support across different programming languages as JSON.

Differences between JSON and BSON:

  • Encoding: JSON is text-based, whereas BSON is binary-encoded.
  • Efficiency: BSON is more efficient in terms of storage and bandwidth compared to JSON.
  • Data Types: BSON supports additional data types such as dates and binary data, which JSON lacks.
  • Complexity: BSON is more complex than JSON due to its binary encoding and additional data types.

In conclusion, JSON and BSON are both valuable formats for data interchange, each with its own strengths and weaknesses. JSON excels in simplicity and readability, making it ideal for human-readable data exchange. On the other hand, BSON offers efficiency and extended data types, making it well-suited for database storage and transmission. The choice between JSON and BSON depends on the specific requirements of your application, balancing factors such as readability, efficiency, and data complexity.

Thursday, December 7, 2023

.NET Aspire: Take Your Cloud-Native Development to the Next Level | .Net 8


Building distributed applications can be a complex and time-consuming process. Thankfully, .NET Aspire is here to simplify the process and help you build observable, production-ready applications with ease.

.NET Aspire: Simplifying the Cloud-Native Development Journey


.NET Aspire is an opinionated stack within the .NET ecosystem, providing a pre-defined architecture and best practices for building modern applications. It focuses on three key areas:


1. Cloud-Native:

  • Seamless integration with cloud platforms like Azure
  • Streamlined deployment and management
  • Scalability and flexibility

2. Observability:

  • Rich telemetry data for monitoring and troubleshooting
  • Built-in logging and tracing
  • Improved application insights

3. Standardised Interfaces:

  • Consistent and predictable components
  • Reduced development complexity
  • Easier integration and maintenance

Benefits of Using .NET Aspire:

  • Faster Development: Get started quickly with a pre-defined architecture and standardized components.
  • Improved Scalability: Build applications that can easily grow and adapt to changing needs.
  • Enhanced Observability: Gain deeper insights into your application's behavior for better troubleshooting and performance optimization.
  • Reduced Costs: Streamline development and minimize infrastructure setup, potentially leading to cost savings.
  • Focus on Business Logic: Dedicate your time and energy to building core functionalities instead of infrastructure concerns.

Who Should Use .NET Aspire?


.NET Aspire is ideal for developers building:

  • Modern, distributed applications: Microservices architectures, event-driven systems, and reactive programming.
  • Cloud-based applications: Leveraging the benefits of cloud platforms like Azure.
  • Highly observable applications: Gaining deeper insights into application behavior and performance.
  • Maintainable and scalable applications: Building applications that can grow and adapt to changing requirements.


Who Should Use .NET Aspire?


.NET Aspire is ideal for developers who:

  • Want to build modern, distributed applications efficiently.
  • Seek the benefits of microservices architectures and cloud platforms.
  • Focus on building core business logic without infrastructure concerns.
  • Value improved observability and maintainability in their applications.




Ready to Start Building with .NET Aspire?


Here are some resources to get you started:

Saturday, May 28, 2022

New Features of Appian 22.2 Product Release

 


Hello, everyone! I hope you all are doing well and safe. As you all know that I come up with new things, so today I am gonna tell you about the new release of Appian.

You know that Appian released its new version quarterly, so this May Appian released the new version of Appian is a 22.2 product release! Congratulations!, and today we are gonna learn what are the new features added in this release.

There are many new features added in this release but we are going to learn the few ones but most important which is helpful for the newbies.

Appian 22.2 product release includes exciting enhancements to automation, our development experience, and more.

There are the following topics are updated with new features.
  • Process scorecards for more insights
  • Sync any changed data
  • Appian Designer transformed
  • Records
  • SAIL
  • Expression rules
  • Components
  • New functions and many more updates and features are added.

Appian Designer Transformed:


First, let me tell you all, that there is a new Appian Designer coming to you all, and I am damn sure you will love it! Your new Appian Designer dashboard will look alike as below.



Now you can see the new dashboard as above, it is completely changed and I really like it. I am waiting for this because it enhanced the applications list and much more.

SAIL:


Appian SAIL stands for Self-Assembly Interface Layer is a technology that plays an important role as an object in the Appian. I am not going to talk much about SAIL, please refer to this link for SAIL Technology to learn more.

There are the following features are added and updated in this new release.
  • Now designers can create new interfaces from the Sites


  • a!queryLogicalExpression can now use multiple filters
  • File uploads are now 25% faster
  • Portals are available in the community edition
  • Syncing data from the database or salesforce is now up to 2X
  • Generating Web API to sync records
  • The new data sync smart service, allows designers to initiate a data sync for any record types
  • Now designers can create date difference custom record fields using calculations from today's date
  • Versioning, comparing, and rollback
  • View relationships from the query editor


  • Create rule inputs from the query editor
  • Easy aggregation in the query editor


  • Using a!queryRecordType, designers now have the option to aggregate dates without needing them to group


  • Return total count with batchSize=0
  • Sync data faster

Appian introduced the Explore view in this release. As you build your app, the Explore View presents an overview of its key, high-lever design objects. You can see the below screenshot for your reference.



Now you can navigate to additional app views from the Explore view itself as below screenshot.

In the new release of Appian 22.2, Appian made it easy to keep your data fresh by automatically syncing any data changed by select smart services in the Appian process model. Now, with the Sync Record smart service, you can sync data changed by any system—third-party systems, stored procedures, and any smart service.



Now you can subtract from today's date by using Date Difference functions as Appian introduced in this release. Please click on this link to know more about this function Date Difference



This is all about the new features of the new Appian version, and there are many more but I have explained only a few but important ones. You can see all the new features here Appian Release Notes

If you are new to Appian technology please refer to the link for the exam Associate Developer Exam Certification.

Thank you so much for reading. Please comment about Appian and its new features added if any.

😊 Happy Coding 😊




Tuesday, April 12, 2022

Building Your Own App? Don't Make these Mistakes!



Building Your Own App? Don't Make these Mistakes!

Whether you’re a new developer looking to break into the industry, or an experienced professional looking to start your next big project, chances are you’ve probably encountered the same challenges and errors over and over again. 
This article will help you avoid common pitfalls and give you valuable insight on how to succeed as an indie developer. Have you ever thought about building your own mobile app? Or do you already have an idea in mind? If so, this guide is for you! Keep reading to learn more about the field, the specifics of app development, as well as essential tips and advice on how to succeed as an indie developer.

What is an App?

An app is a software for mobile devices that allows you to perform certain tasks through the use of smartphones and other mobile devices. One of the biggest differences between an app and a website is that apps can be downloaded to a mobile device and run on that device, meaning you can’t use it from a computer.
Apps can perform a variety of functions, including messaging, social media, banking, health tracking, navigation, and more. Apps are especially popular in the health, fitness, and wellness sectors, with apps like Fitbit, Strava, and Runkeeper becoming popular among smartphone users.
Apps can range from simple text or image-based programs to more complex programs that allow users to perform various tasks, such as banking or ordering food. The most popular apps can earn developers millions of dollars each year, making app development a profitable and lucrative career path for anyone with a passion for technology.


Getting Started with App Development

If you’ve always dreamed of creating your own app, but you don’t have any coding experience, the best thing to do is to start small. Build the foundation for an app idea you’re interested in, and then expand upon that when you’re more experienced.
While there are plenty of sites and courses available to teach you how to code, the easiest way to get started is to get input from others in the development community. Post your app idea to social media and community forums, and see if anyone has similar ideas or wants to collaborate on an idea with you.
If you’re still unsure about the app idea you have, you can also try building a proof of concept app. Build an app that demonstrates the basic functionality that you want in your app, and then use that as a basis for your final idea.


Knowing the Basics of Programming

To create any type of software, you’re going to need to know how to code. If you’re just getting started with app development, or if you’re a developer who wants to branch out into app creation, you should learn the basics of programming.
Coding is a skill that requires focus and discipline, but once you learn the basics, it’s an imminently practical skill that can be applied to many areas of life.

- What Is Code? 
- The Development Lifecycle 
- The Development Process 
- Why Learn Programming? 
- Finding Programming Resources 
- Understanding How Apps Are Created


The Beauty of Developing an App

There are many reasons to love app development, such as the financial opportunity, the flexibility of building an app, and the ability to work on a project that you can actually see coming to fruition.
One of the biggest advantages of app development is that it’s an ideal career path for people who don’t have a background in computer science.
In fact, there are many successful app developers who have only a high school education or less.
As long as you have a passion for creating apps and have enough drive and perseverance, there’s no reason you can’t make a career out of app development.


The Dark Side of App Development

The downside of app development is that it’s time-consuming and challenging, and if you fail, you can lose a lot of money.
It takes hard work and dedication to succeed as an app developer, and the success rate is low. While the financial rewards can be high, the expense of hiring developers, software, and other expenses associated with app creation means that one wrong move can easily be costly.


Tips and advice for indie developers

You can’t become an app developer overnight. It takes time to learn new skills and build a foundation, and it takes even longer to build a successful app business.
That being said, the best way to succeed as an indie developer is to immerse yourself in the app development community. Join online forums, read articles, and talk to other developers who are actively creating apps.
There’s no better way to learn from others and get valuable insight from other developers than to actively participate in the community.
Another key tip for success as an indie developer is to create an app that solves a genuine problem for your target audience. This will make it easier for you to gain traction with your idea and make it easier for users to adopt your app.


Conclusion

Developing an app can be a lucrative and profitable career path, but it takes time and dedication to succeed. The best way to succeed as an indie developer is to immerse yourself in the app development community and actively participate in forums and read articles.

Friday, April 8, 2022

How to insert multiple records using an editable grid in Appian



Hi, Appian Developers! I hope you all are doing well and safe. Today we are going to learn to insert multiple records for customer in a database table named tbl_customer using an editable grid in Appian. I would clear in the starting, you must be certified with Appian Associate Developer, so it will be easy for you all. First I will tell you the whole requirements and what we are going to implement here.

Requirement:

Let’s consider, that we have a tbl_customer in the Appian cloud database. And this table has the following fields as

·      customerID
·      customerName
·      emailID
·      phoneNumber
·      profilePicture
·      description
·      createdBy
·      createdDate
·      isActive

You can see the below screenshot for how does your table looks like.

Now, we want to insert multiple customer details in one go instead of adding them one by one. It means we will add the multiple customer data from an interface using an editable grid in Appian.

e.g., Customer1, Customer2, Customer3, and Customer4 will have their own CustomerID, CustomerName, emailID, and so on. By implementing this, we are not required to add the n number of customer details one by one. So, without wasting our time, let’s switch to Appian Designer Console. As I am using the free community edition of Appian, I have my own Appian Designer console. You can also request your instance by clicking on this link https://community.appian.com/

 

I am creating a new application named “Practice for Appian” as below screenshot.

As I have checked the box in yellow highlighted in the above screenshot.

It will create some default folders and groups for me. This feature is available in only Appian version 21.4 release or later. Now click on the save button and you will see your application is created with default objects with folders and groups as below.


First, we will create our Data Store for our application which helps to establish a connection between our database and application. To create the Data Store, please click on the new button and select Data Store as below screenshot.

You must enter your datastore name and description as below.

Now click on Create button and choose your security for datastore object and click on the Save button as below.

Note: Once your CDT is created, do not forget to verify and publish your Data Store.

As we have already created our database table, so now we will create our CDT. To create a CDT, please click on the New button and select Data Type as below screenshot.

We will create our CDT using "Create from a database table or view" and select your Data Source name and table as below.

Now you must enter your CDT name and select your Data Store which we have created as above. Please see the below screenshot for your reference.
Once your CDT is created, now we will create a Constant for our entity as below.
Both Datastore and CDT have been created, now we will create our interface using an editable grid. To create an Interface, please click on the New button and select Interface as below.

Please enter your Interface name below.
Now click on Create button, and you will see the below window.
Now switch to expression mode and paste the below code into your Interface.


Once you pasted the above code, you will see what your interface looks like as below screenshot.

Wow, Congratulations!!! Our interface is ready to insert the multiple customer data into our database table tbl_Customer.

Let's add a few customer details to the form and click on Submit button as below.
Congratulation...!!! 💓💓💓

Successfully, we have inserted our 5 customer details into the database table. As you can see from the below screenshot for our table record.

Note:
I have created two constants, one is to save the customer profile picture, the constant type is a folder, and the second is for CDT, the constant type is the Data Store Entity. And Please add one rule input as items to your interface.

I have used a!writeToDataStoreEntity function on Submit button in the interface to save the customer data into the database table.

Please see my below objects for the application.



I hope, this blog will help you to understand the use of an editable grid within the interface.

Thank you so much for your time.

Please comment if you have any issues regarding the same.

Happy Coding! ✌💓